From 1a80de79b92524de27c2b8c2ea7ddf90995a68ef Mon Sep 17 00:00:00 2001 From: thomasl <thomasl@eurecom.fr> Date: Mon, 23 Mar 2015 16:30:11 +0000 Subject: [PATCH] trunk alignment with 0.3 branch git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6875 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- cmake_targets/CMakeLists.txt | 254 +++++++++++---- .../autotests/run_compilation_autotests.bash | 132 ++++---- .../autotests/run_exec_autotests.bash | 4 +- .../autotests/test.0101/CMakeLists.txt | 180 ++++++----- .../autotests/test.0102/CMakeLists.txt | 180 ++++++----- .../autotests/test.0103/CMakeLists.txt | 176 ++++++---- .../autotests/test.0106/CMakeLists.txt | 2 +- .../autotests/test.0107/CMakeLists.txt | 179 ++++++----- .../autotests/test.0108/CMakeLists.txt | 2 +- .../autotests/test.0114/CMakeLists.txt | 2 +- .../autotests/test.0115/CMakeLists.txt | 179 ++++++----- .../autotests/test.0120/CMakeLists.txt | 111 +++++++ cmake_targets/build_oai.bash | 226 ++++--------- .../epc_build_oai/CMakeLists.template | 1 + cmake_targets/hss_build/CMakeLists.txt | 300 ++++++++++++++++++ cmake_targets/lte-r10-exmimo/CMakeLists.txt | 3 - cmake_targets/lte-r10-usrp/CMakeLists.txt | 4 - cmake_targets/lte-r8/CMakeLists.txt | 4 - cmake_targets/oaisim-r8/CMakeLists.txt | 15 - .../oaisim_build_oai/CMakeLists.template | 5 +- .../oaisim_mme_build_oai/CMakeLists.template | 87 +++++ cmake_targets/{ => tools}/build_helper.bash | 221 +++++-------- cmake_targets/tools/exmimo2_2arxg.lime | 10 + cmake_targets/tools/init_exmimo2.sh | 4 +- cmake_targets/tools/run_enb_s1_exmimo | 191 +++++++++++ cmake_targets/tools/run_epc | 150 +++++++++ cmake_targets/tools/run_hss | 115 +++++++ 27 files changed, 1898 insertions(+), 839 deletions(-) create mode 100644 cmake_targets/autotests/test.0120/CMakeLists.txt create mode 100755 cmake_targets/hss_build/CMakeLists.txt delete mode 100644 cmake_targets/lte-r10-exmimo/CMakeLists.txt delete mode 100644 cmake_targets/lte-r10-usrp/CMakeLists.txt delete mode 100644 cmake_targets/lte-r8/CMakeLists.txt delete mode 100644 cmake_targets/oaisim-r8/CMakeLists.txt create mode 100644 cmake_targets/oaisim_mme_build_oai/CMakeLists.template rename cmake_targets/{ => tools}/build_helper.bash (74%) create mode 100644 cmake_targets/tools/exmimo2_2arxg.lime create mode 100755 cmake_targets/tools/run_enb_s1_exmimo create mode 100755 cmake_targets/tools/run_epc create mode 100755 cmake_targets/tools/run_hss diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index 2a60080b9a..a7c9c8c857 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -23,7 +23,7 @@ # OpenAirInterface Dev : openair4g-devel@eurecom.fr # # Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE -# Author: laurent THOMAS +# Author: laurent THOMAS, Lionel GAUTIER ############################################################################### cmake_minimum_required (VERSION 2.8) @@ -45,6 +45,16 @@ project (OpenAirInterface) ########################################### # macros to define options as there is numerous options in oai ################################################ +macro(add_option name val helpstr) + if(DEFINED ${name}) + set(value ${${name}}) + else(DEFINED ${name}) + set(value ${val}) + endif() + set(${name} ${value} CACHE STRING "${helpstr}") + add_definitions("-D${name}=${value}") +endmacro(add_option) + macro(add_boolean_option name val helpstr) if(DEFINED ${name}) set(value ${${name}}) @@ -204,7 +214,9 @@ add_list2_option(RRC_ASN1_VERSION "Rel10" "ASN.1 version of RRC interface" "Rel8 if (${RRC_ASN1_VERSION} STREQUAL "Rel8") set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn) -elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10") +elseif (${RRC_ASN1_VERSION} STREQUAL "CBA") + set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn) +else() set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn) endif (${RRC_ASN1_VERSION} STREQUAL "Rel8") @@ -335,77 +347,160 @@ endif (${RF_BOARD} STREQUAL "EXMIMO") include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON") -#################### -# to be documented options -################### -add_boolean_option(ADDR_CONF False "specific to oaisim") + +############################################################## +# ???!!! TO BE DOCUMENTED OPTIONS !!!??? +############################################################## add_boolean_option(ASSERT True "???") +add_boolean_option(ENABLE_SECURITY True "Enable LTE integrity and ciphering between RRC UE and eNB") +add_boolean_option(ENABLE_USE_MME True "eNB connected to MME (INTERFACE S1-C), not standalone eNB") +add_boolean_option(NO_RRM True "DO WE HAVE A RADIO RESSOURCE MANAGER: NO") +add_boolean_option(USER_MODE True "????") + +add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????") add_boolean_option(DISABLE_USE_NAS False "???") -add_boolean_option(DRIVER2013 True "????") -add_boolean_option(ENABLE_FXP True "????") -add_boolean_option(ENABLE_NAS_UE_LOGGING True "????") -add_boolean_option(ENABLE_NEW_MULTICAST False "specific to oaisim") add_boolean_option(ENABLE_PDCP_NETLINK_FIFO False "????") -add_boolean_option(ENABLE_PGM_TRANSPORT False "specific to oaisim") -add_boolean_option(ENABLE_RAL False "????") -add_boolean_option(ENABLE_SECURITY True "???") add_boolean_option(ENABLE_STANDALONE_EPC True "Compile MME, SGW and PGW in a single executable") -add_boolean_option(ENABLE_USE_CPU_EXECUTION_TIME True "Add data in vcd traces: disable it if perf issues") add_boolean_option(ENABLE_USE_GTPU_IN_KERNEL True "as per name") -add_boolean_option(ENABLE_USE_MME True "???") add_boolean_option(ENABLE_USE_NETFILTER_FOR_SGI False "SGI option") add_boolean_option(ENABLE_USE_PCAP_FOR_SGI False "SGI option") add_boolean_option(ENABLE_USE_RAW_SOCKET_FOR_SGI False "As per name") -add_boolean_option(ENABLE_VCD_FIFO True "Seems legacy: always true now") -add_boolean_option(ENB_MODE True "???") add_boolean_option(EPC_BUILD False "???") -add_boolean_option(HARD_RT False "???") -add_boolean_option(JUMBO_FRAME True "???") -add_boolean_option(LARGE_SCALE False "specific to oaisim: defines max eNB=2 and max UE=120") -add_boolean_option(LINK_PDCP_TO_GTPV1U True "????") -add_boolean_option(LINUX_LIST False "???") -add_boolean_option(LINUX True "???") -add_boolean_option(LOCALIZATION False "???") -add_boolean_option(LOG_NO_THREAD True "Disable thread for log, seems always set to true") +add_boolean_option(LINK_PDCP_TO_GTPV1U False "????") add_boolean_option(LOWLATENCY True "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14") -add_boolean_option(MAC_CONTEXT True "specific to oaisim") -add_integer_option(MAX_NUM_CCs 1 "????") -add_boolean_option(MIH_C_MEDIEVAL_EXTENSIONS True "????") -add_boolean_option(MU_RECEIVER False "????") add_boolean_option(NAS_ADDRESS_FIX False "specific to oaisim: for nasmesh driver") -add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options") add_boolean_option(NAS_NETLINK False "???? Must be True to compile nasmesh driver without rtai") -add_boolean_option(NAS_UE True "NAS_UE and NAS_MME are incompatible options") -add_boolean_option(NEW_FFT True "????") -add_boolean_option(NO_RRM True "????") -add_boolean_option(OAI_EMU False "specific to oaisim") add_boolean_option(OAISIM False "specific to oaisim") -add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????") add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????") -add_boolean_option(OPENAIR1 True "????") -add_boolean_option(OPENAIR2 True "????") -add_boolean_option(OPENAIR_EMU False "specific to oaisim") -add_boolean_option(OPENAIR_LTE True "Seems legacy: keep it to true") -add_boolean_option(PBS_SIM False "????") -add_boolean_option(PC_DSP True "????") -add_boolean_option(PC_TARGET True "????") -add_boolean_option(PERFECT_CE False "????") -add_boolean_option(PHY_ABSTRACTION False "specific to oaisim") -add_boolean_option(PHY_CONTEXT True "not clear: must remain False for dlsim") -add_boolean_option(PHY_EMUL False "not clear: must remain False for dlsim") -add_boolean_option(PHYSIM True "??? set in lte-softmodem, for L1 simulators dlsim, ulsim, ...?") -add_boolean_option(PUCCH True "????") -add_boolean_option(RANDOM_BF False "????") -add_boolean_option(RLC_STOP_ON_LOST_PDU False "Fatal assert in this case") -add_boolean_option(SECU False "???") -add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator") -add_boolean_option(SPECTRA False "???") -add_boolean_option(UE_BUILD True "????") -add_boolean_option(USE_3GPP_ADDR_AS_LINK_ADDR False "As per attribute name") +add_boolean_option(UE_BUILD False "????") add_boolean_option(USE_MME False "this flag is used only one time in lte-softmodem.c") -add_boolean_option(USER_MODE True "????") add_list_string_option(PACKAGE_NAME "NotDefined" "As per attribute name") +######################## +# Include order +########################## +add_boolean_option(ENB_MODE True "Swap the include directories between openair2 and openair-cn" ) + +########################## +# Emulation options +########################## +add_boolean_option(ENABLE_PGM_TRANSPORT False "specific to oaisim, emulation through ethernet, reliable multicast") +add_boolean_option(ADDR_CONF False "specific to oaisim, IP autoconf of user-plane IP interface") +add_boolean_option(OPENAIR_EMU False "specific to oaisim") +add_boolean_option(OAI_EMU False "specific to oaisim") +add_boolean_option(PHY_ABSTRACTION False "specific to oaisim") + +########################## +# SCHEDULING/REAL-TIME/PERF options +########################## +add_boolean_option(ENABLE_USE_CPU_EXECUTION_TIME True "Add data in vcd traces: disable it if perf issues") +add_boolean_option(ENABLE_VCD_FIFO True "Seems legacy: always true now, time measurements of proc calls and var displays") +add_boolean_option(HARD_RT False "???") +add_boolean_option(LINUX False "used in weird memcpy() in pdcp.c ???") +add_boolean_option(LINUX_LIST False "used only in lists.c: either use OAI implementation of lists or Linux one (should be True, but it is False") +add_boolean_option(LOG_NO_THREAD True "Disable thread for log, seems always set to true") +add_boolean_option(OPENAIR_LTE True "Seems legacy: keep it to true") + +########################## +# PHY options +########################## +add_boolean_option(DRIVER2013 True "????") +add_boolean_option(ENABLE_FXP True "????") +add_boolean_option(ENABLE_NEW_MULTICAST False "specific to oaisim") +add_boolean_option(LARGE_SCALE False "specific to oaisim: defines max eNB=2 and max UE=120") +add_boolean_option(LOCALIZATION False "???") +add_integer_option(MAX_NUM_CCs 1 "????") +add_boolean_option(MU_RECEIVER False "????") +add_boolean_option(NEW_FFT True "????") +add_boolean_option(OPENAIR1 True "????") +add_boolean_option(PBS_SIM False "????") +add_boolean_option(PC_DSP True "????") +add_boolean_option(PC_TARGET True "????") +add_boolean_option(PERFECT_CE False "????") +add_boolean_option(PHYSIM True "for L1 simulators (dlsim, ulsim, ...)") +add_boolean_option(PHY_CONTEXT True "not clear: must remain False for dlsim") +add_boolean_option(PHY_EMUL False "not clear: must remain False for dlsim") +add_boolean_option(PUCCH True "????") +add_boolean_option(RANDOM_BF False "????") +add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator") + +########################## +# 802.21 options +########################## +add_boolean_option(ENABLE_RAL False "ENABLE 802.21 INTERFACE") +add_boolean_option(USE_3GPP_ADDR_AS_LINK_ADDR False "As per attribute name") + +########################## +# NAS LAYER OPTIONS +########################## +add_boolean_option(ENABLE_NAS_UE_LOGGING True "????") +add_boolean_option(NAS_BUILT_IN_EPC False "MME NAS layer not present in this executable") +add_boolean_option(NAS_BUILT_IN_UE True "UE NAS layer present in this executable") +add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)") +add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options") + + +########################## +# ACCESS STRATUM LAYER2 OPTIONS +########################## +add_boolean_option(MAC_CONTEXT True "specific to oaisim") +add_boolean_option(JUMBO_FRAME True "ENABLE LARGE SDU in ACCESS STRATUM (larger than common MTU)") + +########################## +# RLC LAYER OPTIONS +########################## +add_boolean_option(OPENAIR2 True "Access Stratum layer 2 built in executable") +add_boolean_option(TRACE_RLC_PAYLOAD False "Fatal assert in this case") +add_boolean_option(RLC_STOP_ON_LOST_PDU False "Fatal assert in this case") + +add_boolean_option(TRACE_RLC_AM_BO False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_FREE_SDU False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_HOLE False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_PDU False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_RESEGMENT False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_RX False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_RX_DECODE False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_TX False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_TX_STATUS False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_AM_STATUS_CREATION False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG") + +add_boolean_option(STOP_ON_IP_TRAFFIC_OVERLOAD False "") +add_boolean_option(TRACE_RLC_UM_DAR False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_UM_DISPLAY_ASCII_DATA False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_UM_PDU False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_UM_RX False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_UM_SEGMENT False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG") +add_boolean_option(TRACE_RLC_UM_TX_STATUS False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG") + + +########################## +# PDCP LAYER OPTIONS +########################## +add_boolean_option(PDCP_USE_NETLINK False "For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO") +add_boolean_option(PDCP_USE_NETLINK_QUEUES False "When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues") +add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER False "For eNB, PDCP communicate with a IP driver") +add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U True "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)") + +########################## +# RRC LAYER OPTIONS +########################## +add_boolean_option(RRC_DEFAULT_RAB_IS_AM False "Otherwise it is UM, configure params are actually set in rrc_eNB.c:rrc_eNB_generate_defaultRRCConnectionReconfiguration(...)") + + +########################## +# S1AP LAYER OPTIONS +########################## +add_boolean_option(S1AP_LIMIT_STREAM_ID_TO_1 True "FIXME: Despite Eurecom has implemented the spec concerning management of stream ids, there are always issues with other EPCs than EURECOM") + +########################## +# PROJECTS (IST, FRENCH COLL., etc) +# SPECIFIC OPTIONS +########################## +add_boolean_option(SPECTRA False "???") +add_boolean_option(MIH_C_MEDIEVAL_EXTENSIONS True "EXTENSIONS TO MIH 802.21 IN CONTEXT OF IST PROJECT CALLED MEDIEVAL") + + + add_boolean_option(EMOS False "????") if(${EMOS}) add_definitions("-D_FILE_OFFSET_BITS=64") @@ -712,6 +807,7 @@ set(L2_SRC ${RRC_DIR}/rrc_UE.c ${RRC_DIR}/rrc_eNB.c ${RRC_DIR}/rrc_eNB_S1AP.c + ${RRC_DIR}/rrc_eNB_UE_context.c ${RRC_DIR}/rrc_common.c ${RRC_DIR}/L2_interface.c ) @@ -1291,7 +1387,6 @@ include_directories(${CRYPTO_INCLUDE_DIRS}) if (${RF_BOARD} STREQUAL "USRP") find_package(Boost REQUIRED) include_directories(${LIBBOOST_INCLUDE_DIR}) - target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES}) endif (${RF_BOARD} STREQUAL "USRP") pkg_search_module(OPENPGM openpgm-5.1) @@ -1368,10 +1463,11 @@ target_link_libraries (lte-softmodem -Wl,--end-group ) target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES}) target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_USRP} ${XFORMS_LIBRARIES} ) +target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES}) # EPC is ??? nodes implementation in one process ################################ -add_executable(oai_epc +add_executable(mme_gw ${OPENAIR_BIN_DIR}/messages_xml.h ${OPENAIRCN_DIR}/OAI_EPC/oai_epc_log.c ${OPENAIRCN_DIR}/OAI_EPC/oai_epc.c @@ -1379,13 +1475,35 @@ add_executable(oai_epc ${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c ${OPENAIRCN_DIR}/NAS/nas_main.c ) -target_link_libraries (oai_epc +target_link_libraries (mme_gw -Wl,--start-group NAS S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA SGI S6A SGW MME_APP LFDS ${ITTI_LIB} CN_UTILS HASHTABLE -Wl,--end-group pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore ) +# Default parameters +site_name(SITE_HSS_HOSTNAME) +site_name(SITE_MME_HOSTNAME) +add_option(MME_HOSTNAME ${SITE_MME_HOSTNAME} "HSS Fully qualified domain name") +add_option(HSS_HOSTNAME ${SITE_HSS_HOSTNAME} "HSS Fully qualified domain name") +add_option(HSS_IP 127.0.1.1 "HSS IP address, default is local") +add_option(REALM openair4G.eur "Realm TODO: extract this default value from SITE_MME_FQDN") +add_option(MME_FQDN ${SITE_MME_HOSTNAME}.${REALM} "MME Fully qualified domain name") +add_option(HSS_FQDN ${SITE_HSS_HOSTNAME}.${REALM} "HSS Fully qualified domain name") +add_option(TRANSPORT_option No_SCTP "No_TCP or No_SCTP") +add_option(TRANSPORT_PREFER_TCP_option Prefer_TCP "Prefer_TCP or null string ") + +configure_file( + ${OPENAIRCN_DIR}/UTILS/CONF/s6a.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/epc_s6a.conf) +configure_file( + ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.local.enb.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/epc.local.enb.conf) +configure_file( + ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/epc.conf) + # oai_sgw is SGW node implementation ################################ add_executable(oai_sgw @@ -1402,17 +1520,17 @@ target_link_libraries (oai_sgw # USIM process ################# -add_executable(usim_data +add_executable(usim ${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/usim_data.c ) -target_link_libraries (usim_data ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m) +target_link_libraries (usim ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m) # ??? ##################### -add_executable(ue_data +add_executable(nvram ${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/ue_data.c ) -target_link_libraries (ue_data ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m) +target_link_libraries (nvram ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m) ###################################" # Addexecutables for tests @@ -1472,8 +1590,6 @@ foreach(myExe s1ap secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt - secu - secu_knas_stream_int secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf @@ -1497,12 +1613,16 @@ endforeach(myExe) # ??? ########################### add_executable(oaisim_mme + ${OPENAIR_BIN_DIR}/messages_xml.h ${OPENAIRCN_DIR}/OAISIM_MME/oai_mme_log.c ${OPENAIRCN_DIR}/OAISIM_MME/oaisim_mme.c + ${OPENAIRCN_DIR}/NAS/nas_main.c ) target_link_libraries (oaisim_mme - ${ITTI_LIB} ${NAS_LIB} S1AP_LIB S1AP_ENB - S11 S6A UTILS UDP MME_APP SECU_CN LFDS fdproto fdcore + -Wl,--start-group + NAS S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA SGI S6A S11 SGW MME_APP LFDS ${ITTI_LIB} CN_UTILS HASHTABLE + -Wl,--end-group + pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore ) ################################################## diff --git a/cmake_targets/autotests/run_compilation_autotests.bash b/cmake_targets/autotests/run_compilation_autotests.bash index e717d5be81..28a97538a6 100755 --- a/cmake_targets/autotests/run_compilation_autotests.bash +++ b/cmake_targets/autotests/run_compilation_autotests.bash @@ -1,12 +1,28 @@ #!/bin/bash -if [ -s $OPENAIR_DIR/cmake_targets/build_helper.bash ] ; then - source $OPENAIR_DIR/cmake_targets/build_helper.bash +if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper.bash ] ; then + source $OPENAIR_DIR/cmake_targets/tools/build_helper.bash else echo "Error: no file in the file tree: is OPENAIR_DIR variable set?" exit 1 fi +test_compile() { + mkdir -p $tdir/$1/build + cd $tdir/$1/build + { + cmake .. + rm -f $3 + make -j4 $2 + } > $tdir/log/$1.txt 2>&1 + if [ -s $3 ] ; then + cp $3 $tdir/bin/$3.$1 + echo_success "$1 test compiled" + else + echo_error "$1 test compilation failed" + fi +} + tdir=$OPENAIR_DIR/cmake_targets/autotests mkdir -p $tdir/bin $tdir/log @@ -15,71 +31,49 @@ if [ "$updated" != "" ] ; then echo_warning "some files are not in svn: $updated" fi -compilations \ - autotests/test.0101 oaisim \ - oaisim $tdir/bin/oaisim.r8 \ - $tdir/log/test0101.txt \ - "test 0101:oaisim Rel8 passed" \ - "test 0101:oaisim Rel8 failed" - -compilations \ - autotests/test.0102 oaisim \ - oaisim $tdir/bin/oaisim.r8.nas \ - $tdir/log/test0102.oaisim.txt \ - "test 0102:oaisim Rel8 nas passed" \ - "test 0102:oaisim Rel8 nas failed" -compilations \ - autotests/test.0103 oaisim \ - oaisim $tdir/bin/oaisim.r8.rf \ - $tdir/log/test0103.txt \ - "test 0103:oaisim rel8 rf passed" \ - "test 0103:oaisim rel8 rf failed" -compilations \ - autotests/test.0104 dlsim \ - dlsim $tdir/bin/dlsim \ - $tdir/log/test0104.txt \ - "test 0104:dlsim passed" \ - "test 0104:dlsim failed" -compilations \ - autotests/test.0104 ulsim \ - ulsim $tdir/bin/ulsim \ - $tdir/log/test0105.txt \ - "test 0105: ulsim passed" \ - "test 0105: ulsim failed" -compilations \ - autotests/test.0106 oaisim \ - oaisim $tdir/bin/oaisim.r8.itti \ - $tdir/log/test0106.txt \ - "test 0103:oaisim rel8 itti passed" \ - "test 0103:oaisim rel8 itti failed" -compilations \ - autotests/test.0107 oaisim \ - oaisim $tdir/bin/oaisim.r10 \ - $tdir/log/test0107.txt \ - "test 0103:oaisim rel10 passed" \ - "test 0103:oaisim rel10 failed" -compilations \ - autotests/test.0108 oaisim \ - oaisim $tdir/bin/oaisim.r10.itti \ - $tdir/log/test0108.txt \ - "test 0108:oaisim rel10 itti passed" \ - "test 0108:oaisim rel10 itti failed" -compilations \ - autotests/test.0114 oaisim \ - oaisim $tdir/bin/oaisim.r8.itti.ral \ - $tdir/log/test0114.txt \ - "test 0114:oaisim rel8 itti ral passed" \ - "test 0114:oaisim rel8 itti ral failed" -compilations \ - autotests/test.0115 oaisim \ - oaisim $tdir/bin/oaisim.r10.itti.ral \ - $tdir/log/test0115.txt \ - "test 0114:oaisim rel10 itti ral passed" \ - "test 0114:oaisim rel10 itti ral failed" -compilations \ - autotests/test.0102 nasmesh \ - CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko \ - $tdir/log/test0120.txt \ - "test 0120: nasmesh.ko passed" \ - "test 0120: nasmesk.ko failed" +cd $tdir + +test_compile \ + test.0101 oaisim \ + oaisim $tdir/bin/oaisim.r8 + +test_compile \ + test.0102 oaisim \ + oaisim $tdir/bin/oaisim.r8.nas + +test_compile \ + test.0103 lte-softmodem \ + lte-softmodem $tdir/bin/lte-softmodem.r8.rf + +test_compile \ + test.0104 dlsim \ + dlsim $tdir/bin/dlsim + +test_compile \ + test.0104 ulsim \ + ulsim $tdir/bin/ulsim + +test_compile \ + test.0106 oaisim \ + oaisim $tdir/bin/oaisim.r8.itti + +test_compile \ + test.0107 oaisim \ + oaisim $tdir/bin/oaisim.r10 + +test_compile \ + test.0108 oaisim \ + oaisim $tdir/bin/oaisim.r10.itti + +test_compile \ + test.0114 oaisim \ + oaisim $tdir/bin/oaisim.r8.itti.ral + +test_compile \ + test.0115 oaisim \ + oaisim $tdir/bin/oaisim.r10.itti.ral + +test_compile \ + test.0120 nasmesh \ + CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 92f742d09c..5b2b523524 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -1,7 +1,7 @@ #!/bin/bash -if [ -s $OPENAIR_DIR/cmake_targets/build_helper.bash ] ; then - source $OPENAIR_DIR/cmake_targets/build_helper.bash +if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper.bash ] ; then + source $OPENAIR_DIR/cmake_targets/tools/build_helper.bash else echo "Error: no file in the file tree: is OPENAIR_DIR variable set?" exit 1 diff --git a/cmake_targets/autotests/test.0101/CMakeLists.txt b/cmake_targets/autotests/test.0101/CMakeLists.txt index a3dbc10482..50c56b2d70 100644 --- a/cmake_targets/autotests/test.0101/CMakeLists.txt +++ b/cmake_targets/autotests/test.0101/CMakeLists.txt @@ -1,75 +1,111 @@ cmake_minimum_required(VERSION 2.8) -set(ADDR_CONF False) -set(ASSERT True) -set(DEBUG_OMG False) -set(DISABLE_XER_PRINT False) -set(DRIVER2013 False) -set(ENABLE_FXP True) -set(ENABLE_ITTI False) -set(ENABLE_NAS_UE_LOGGING False) -set(ENABLE_NEW_MULTICAST True) -set(ENABLE_PDCP_NETLINK_FIFO False) -set(ENABLE_PGM_TRANSPORT True) -set(ENABLE_RAL False) -set(ENABLE_SECURITY False) -set(ENABLE_USE_CPU_EXECUTION_TIME True) -set(ENABLE_USE_MME False) -set(ENABLE_VCD_FIFO True) -set(HARD_RT False) -set(JUMBO_FRAME True) -set(LARGE_SCALE False) -set(LINK_PDCP_TO_GTPV1U False) -set(LINUX_LIST False) -set(LINUX True) -set(LOCALIZATION False) -set(LOG_NO_THREAD True) -set(LOWLATENCY False) -set(MAC_CONTEXT 1) -set(MAX_NUM_CCs 1) -set(MIH_C_MEDIEVAL_EXTENSIONS True) -set(MSG_PRINT False) -set(MU_RECEIVER False) -set(NAS_ADDRESS_FIX true) -set(NAS_NETLINK True) -set(NAS_UE True) -set(NEW_FFT True) -set(NO_RRM True) -set(OAI_EMU True) -set(OAI_EMU True) -set(OAI_NW_DRIVER_TYPE_ETHERNET False) -set(OPENAIR1 False) -set(OPENAIR2 True) -set(OPENAIR_EMU True) -set(OPENAIR_LTE True) -set (PACKAGE_NAME "oaisim") -set(PACKAGE_NAME "oaisim") -set(PBS_SIM False) -set(PC_DSP False) -set(PC_TARGET False) -set(PDCP_MSG_PRINT False) -set(PERFECT_CE False) -set(PHY_ABSTRACTION True) -set(PHY_ABSTRACTION True) -set(PHY_EMUL False) -set(PHYSIM False) -set(PUCCH True) -set(RANDOM_BF False) -set(RF_BOARD "NoBoard") -set(RLC_STOP_ON_LOST_PDU False) -set(RRC_ASN1_VERSION False) -set(RRC_ASN1_VERSION "Rel8") -set(RRC_MSG_PRINT False) -set(RTAI False) -set(SECU False) -set(SMBV False) -set(SPECTRA False) -set(TEST_OMG False) -set(UE_BUILD False) -set(USE_3GPP_ADDR_AS_LINK_ADDR False) -set(USE_MME False) -set(USER_MODE True) -set(XER_PRINT True) -set(XFORMS False) - +set ( ADDR_CONF False ) +set ( ASSERT True ) +set ( DEBUG_OMG False ) +set ( DISABLE_USE_NAS False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 False ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI False ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_GTPU_IN_KERNEL False ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_NETFILTER_FOR_SGI False ) +set ( ENABLE_USE_PCAP_FOR_SGI False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False ) +set ( ENABLE_VCD_FIFO True ) +set ( ENB_MODE True ) +set ( EPC_BUILD False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False ) +set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD True ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS True ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC False ) +set ( NAS_BUILT_IN_UE False ) +set ( NAS_MME False ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX 2 ) +set ( NB_ANTENNAS_TX 2 ) +set ( NB_ANTENNAS_TXRX 2 ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OAISIM True ) +set ( OPENAIR1 False ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PBS_SIM False ) +set ( PC_DSP False ) +set ( PC_TARGET False ) +set ( PDCP_MSG_PRINT False ) +set ( PDCP_USE_NETLINK False ) +set ( PDCP_USE_NETLINK_QUEUES False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT 1 ) +set ( PHY_EMUL False ) +set ( PHYSIM False ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD False ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_ASN1_VERSION Rel8 ) +set ( RRC_DEFAULT_RAB_IS_AM False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) +set ( S1AP_VERSION R10 ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) +set ( TEST_OMG False ) +set ( TRACE_RLC_AM_BO False ) +set ( TRACE_RLC_AM_FREE_SDU False ) +set ( TRACE_RLC_AM_HOLE False ) +set ( TRACE_RLC_AM_PDU True ) +set ( TRACE_RLC_AM_RESEGMENT False ) +set ( TRACE_RLC_AM_RX_DECODE False ) +set ( TRACE_RLC_AM_RX False ) +set ( TRACE_RLC_AM_STATUS_CREATION False ) +set ( TRACE_RLC_AM_TX False ) +set ( TRACE_RLC_AM_TX_STATUS False ) +set ( TRACE_RLC_PAYLOAD False ) +set ( TRACE_RLC_UM_DAR False ) +set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) +set ( TRACE_RLC_UM_PDU True ) +set ( TRACE_RLC_UM_RX False ) +set ( TRACE_RLC_UM_SEGMENT False ) +set ( TRACE_RLC_UM_TX_STATUS False ) +set ( UE_BUILD False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME False ) +set ( USER_MODE True ) +set ( XER_PRINT True ) +set ( XFORMS False ) include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/test.0102/CMakeLists.txt b/cmake_targets/autotests/test.0102/CMakeLists.txt index e219ba896a..32e3f4a0b1 100644 --- a/cmake_targets/autotests/test.0102/CMakeLists.txt +++ b/cmake_targets/autotests/test.0102/CMakeLists.txt @@ -1,75 +1,111 @@ cmake_minimum_required(VERSION 2.8) -set(ADDR_CONF False) -set(ASSERT True) -set(DEBUG_OMG False) -set(DISABLE_XER_PRINT False) -set(DRIVER2013 False) -set(ENABLE_FXP True) -set(ENABLE_ITTI False) -set(ENABLE_NAS_UE_LOGGING False) -set(ENABLE_NEW_MULTICAST True) -set(ENABLE_PDCP_NETLINK_FIFO True) -set(ENABLE_PGM_TRANSPORT True) -set(ENABLE_RAL False) -set(ENABLE_SECURITY False) -set(ENABLE_USE_CPU_EXECUTION_TIME True) -set(ENABLE_USE_MME False) -set(ENABLE_VCD_FIFO True) -set(HARD_RT False) -set(JUMBO_FRAME True) -set(LARGE_SCALE False) -set(LINK_PDCP_TO_GTPV1U False) -set(LINUX_LIST False) -set(LINUX True) -set(LOCALIZATION False) -set(LOG_NO_THREAD True) -set(LOWLATENCY False) -set(MAC_CONTEXT 1) -set(MAX_NUM_CCs 1) -set(MIH_C_MEDIEVAL_EXTENSIONS True) -set(MSG_PRINT False) -set(MU_RECEIVER False) -set(NAS_ADDRESS_FIX true) -set(NAS_NETLINK True) -set(NAS_UE True) -set(NEW_FFT True) -set(NO_RRM True) -set(OAI_EMU True) -set(OAI_EMU True) -set(OAI_NW_DRIVER_TYPE_ETHERNET False) -set(OPENAIR1 False) -set(OPENAIR2 True) -set(OPENAIR_EMU True) -set(OPENAIR_LTE True) -set (PACKAGE_NAME "oaisim") -set(PACKAGE_NAME "oaisim") -set(PBS_SIM False) -set(PC_DSP False) -set(PC_TARGET False) -set(PDCP_MSG_PRINT False) -set(PERFECT_CE False) -set(PHY_ABSTRACTION True) -set(PHY_ABSTRACTION True) -set(PHY_EMUL False) -set(PHYSIM False) -set(PUCCH True) -set(RANDOM_BF False) -set(RF_BOARD "NoBoard") -set(RLC_STOP_ON_LOST_PDU False) -set(RRC_ASN1_VERSION False) -set(RRC_ASN1_VERSION "Rel8") -set(RRC_MSG_PRINT False) -set(RTAI False) -set(SECU False) -set(SMBV False) -set(SPECTRA False) -set(TEST_OMG False) -set(UE_BUILD False) -set(USE_3GPP_ADDR_AS_LINK_ADDR False) -set(USE_MME False) -set(USER_MODE True) -set(XER_PRINT True) -set(XFORMS False) - +set ( ADDR_CONF False ) +set ( ASSERT True ) +set ( DEBUG_OMG False ) +set ( DISABLE_USE_NAS False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 False ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI False ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_GTPU_IN_KERNEL False ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_NETFILTER_FOR_SGI False ) +set ( ENABLE_USE_PCAP_FOR_SGI False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False ) +set ( ENABLE_VCD_FIFO True ) +set ( ENB_MODE True ) +set ( EPC_BUILD False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False ) +set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD True ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS True ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC False ) +set ( NAS_BUILT_IN_UE False ) +set ( NAS_MME False ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX 2 ) +set ( NB_ANTENNAS_TX 2 ) +set ( NB_ANTENNAS_TXRX 2 ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OAISIM True ) +set ( OPENAIR1 False ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PBS_SIM False ) +set ( PC_DSP False ) +set ( PC_TARGET False ) +set ( PDCP_MSG_PRINT False ) +set ( PDCP_USE_NETLINK_QUEUES False ) +set ( PDCP_USE_NETLINK True ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT 1 ) +set ( PHY_EMUL False ) +set ( PHYSIM False ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD False ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_ASN1_VERSION Rel8 ) +set ( RRC_DEFAULT_RAB_IS_AM False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) +set ( S1AP_VERSION R10 ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) +set ( TEST_OMG False ) +set ( TRACE_RLC_AM_BO False ) +set ( TRACE_RLC_AM_FREE_SDU False ) +set ( TRACE_RLC_AM_HOLE False ) +set ( TRACE_RLC_AM_PDU True ) +set ( TRACE_RLC_AM_RESEGMENT False ) +set ( TRACE_RLC_AM_RX_DECODE False ) +set ( TRACE_RLC_AM_RX False ) +set ( TRACE_RLC_AM_STATUS_CREATION False ) +set ( TRACE_RLC_AM_TX False ) +set ( TRACE_RLC_AM_TX_STATUS False ) +set ( TRACE_RLC_PAYLOAD False ) +set ( TRACE_RLC_UM_DAR False ) +set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) +set ( TRACE_RLC_UM_PDU True ) +set ( TRACE_RLC_UM_RX False ) +set ( TRACE_RLC_UM_SEGMENT False ) +set ( TRACE_RLC_UM_TX_STATUS False ) +set ( UE_BUILD False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME False ) +set ( USER_MODE True ) +set ( XER_PRINT True ) +set ( XFORMS False ) include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/test.0103/CMakeLists.txt b/cmake_targets/autotests/test.0103/CMakeLists.txt index 7c06bb7422..2710d5f43a 100644 --- a/cmake_targets/autotests/test.0103/CMakeLists.txt +++ b/cmake_targets/autotests/test.0103/CMakeLists.txt @@ -1,72 +1,112 @@ cmake_minimum_required(VERSION 2.8) -set(ADDR_CONF False) -set(ASSERT False) -set(DEBUG_OMG False) -set(DISABLE_XER_PRINT False) -set(DRIVER2013 True) -set(ENABLE_FXP True) -set(ENABLE_ITTI False) -set(ENABLE_NAS_UE_LOGGING False) -set(ENABLE_NEW_MULTICAST False) -set(ENABLE_PDCP_NETLINK_FIFO False) -set(ENABLE_PGM_TRANSPORT False) -set(ENABLE_RAL False) -set(ENABLE_SECURITY False) -set(ENABLE_USE_CPU_EXECUTION_TIME True) -set(ENABLE_USE_MME False) -set(ENABLE_VCD_FIFO True) -set(HARD_RT False) -set(JUMBO_FRAME True) -set(LARGE_SCALE False) -set(LINK_PDCP_TO_GTPV1U False) -set(LINUX_LIST False) -set(LINUX True) -set(LOCALIZATION False) -set(LOG_NO_THREAD True) -set(LOWLATENCY True) -set(MAC_CONTEXT 1) -set(MAX_NUM_CCs 1) -set(MIH_C_MEDIEVAL_EXTENSIONS False) -set(MSG_PRINT False) -set(MU_RECEIVER False) -set(NAS_ADDRESS_FIX False) -set(NAS_NETLINK False) -set(NAS_UE False) -set(NEW_FFT True) -set(NO_RRM True) -set(OAI_EMU False) -set(OAI_NW_DRIVER_TYPE_ETHERNET False) -set(OPENAIR1 True) -set(OPENAIR2 True) -set(OPENAIR_EMU False) -set(OPENAIR_LTE True) -set(PACKAGE_NAME "oaisim") -set(PBS_SIM False) -set(PC_DSP True) -set(PC_TARGET True) -set(PDCP_MSG_PRINT False) -set(PERFECT_CE False) -set(PHY_ABSTRACTION False) -set(PHY_CONTEXT False) -set(PHY_EMUL False) -set(PHYSIM True) -set(PUCCH True) -set(RANDOM_BF False) -set(RF_BOARD "EXMIMO") -set(RLC_STOP_ON_LOST_PDU False) -set(RRC_ASN1_VERSION Rel8) -set(RRC_MSG_PRINT False) -set(RTAI False) -set(SECU False) -set(SMBV False) -set(SPECTRA False) -set(TEST_OMG False) -set(UE_BUILD False) -set(USE_3GPP_ADDR_AS_LINK_ADDR False) -set(USE_MME False) -set(USER_MODE True) -set(XER_PRINT True) -set(XFORMS False) +set ( ADDR_CONF False ) +set ( ASSERT True ) +set ( DEBUG_OMG False ) +set ( DISABLE_USE_NAS False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI False ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST False ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT False ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_GTPU_IN_KERNEL False ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_NETFILTER_FOR_SGI False ) +set ( ENABLE_USE_PCAP_FOR_SGI False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False ) +set ( ENABLE_VCD_FIFO True ) +set ( ENB_MODE True ) +set ( EPC_BUILD False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False ) +set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX False ) +set ( LINUX_LIST False ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD True ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS True ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC False ) +set ( NAS_BUILT_IN_UE False ) +set ( NAS_MME False ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX 2 ) +set ( NB_ANTENNAS_TX 2 ) +set ( NB_ANTENNAS_TXRX 2 ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU False ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OAISIM False ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PBS_SIM False ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PDCP_USE_NETLINK False ) +set ( PDCP_USE_NETLINK_QUEUES False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION False ) +set ( PHY_CONTEXT 1 ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD EXMIMO ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_ASN1_VERSION Rel8 ) +set ( RRC_DEFAULT_RAB_IS_AM False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) +set ( S1AP_VERSION R10 ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) +set ( TEST_OMG False ) +set ( TRACE_RLC_AM_BO False ) +set ( TRACE_RLC_AM_FREE_SDU False ) +set ( TRACE_RLC_AM_HOLE False ) +set ( TRACE_RLC_AM_PDU False ) +set ( TRACE_RLC_AM_RESEGMENT False ) +set ( TRACE_RLC_AM_RX_DECODE False ) +set ( TRACE_RLC_AM_RX False ) +set ( TRACE_RLC_AM_STATUS_CREATION False ) +set ( TRACE_RLC_AM_TX False ) +set ( TRACE_RLC_AM_TX_STATUS False ) +set ( TRACE_RLC_PAYLOAD False ) +set ( TRACE_RLC_UM_DAR False ) +set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) +set ( TRACE_RLC_UM_PDU False ) +set ( TRACE_RLC_UM_RX False ) +set ( TRACE_RLC_UM_SEGMENT False ) +set ( TRACE_RLC_UM_TX_STATUS False ) +set ( UE_BUILD False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME False ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/test.0106/CMakeLists.txt b/cmake_targets/autotests/test.0106/CMakeLists.txt index e9369d626f..c4ef942fc4 100644 --- a/cmake_targets/autotests/test.0106/CMakeLists.txt +++ b/cmake_targets/autotests/test.0106/CMakeLists.txt @@ -57,7 +57,7 @@ set(PUCCH True) set(RANDOM_BF False) set(RF_BOARD "NoBoard") set(RLC_STOP_ON_LOST_PDU False) -set(RRC_ASN1_VERSION False) +set(RRC_ASN1_VERSION Rel8) set(RRC_ASN1_VERSION "Rel8") set(RRC_MSG_PRINT False) set(RTAI False) diff --git a/cmake_targets/autotests/test.0107/CMakeLists.txt b/cmake_targets/autotests/test.0107/CMakeLists.txt index 3c82ec99c6..180bd867f4 100644 --- a/cmake_targets/autotests/test.0107/CMakeLists.txt +++ b/cmake_targets/autotests/test.0107/CMakeLists.txt @@ -1,75 +1,112 @@ cmake_minimum_required(VERSION 2.8) -set(ADDR_CONF False) -set(ASSERT True) -set(DEBUG_OMG False) -set(DISABLE_XER_PRINT False) -set(DRIVER2013 False) -set(ENABLE_FXP True) -set(ENABLE_ITTI False) -set(ENABLE_NAS_UE_LOGGING False) -set(ENABLE_NEW_MULTICAST True) -set(ENABLE_PDCP_NETLINK_FIFO False) -set(ENABLE_PGM_TRANSPORT True) -set(ENABLE_RAL False) -set(ENABLE_SECURITY False) -set(ENABLE_USE_CPU_EXECUTION_TIME True) -set(ENABLE_USE_MME False) -set(ENABLE_VCD_FIFO True) -set(HARD_RT False) -set(JUMBO_FRAME True) -set(LARGE_SCALE False) -set(LINK_PDCP_TO_GTPV1U False) -set(LINUX_LIST False) -set(LINUX True) -set(LOCALIZATION False) -set(LOG_NO_THREAD True) -set(LOWLATENCY False) -set(MAC_CONTEXT 1) -set(MAX_NUM_CCs 1) -set(MIH_C_MEDIEVAL_EXTENSIONS True) -set(MSG_PRINT False) -set(MU_RECEIVER False) -set(NAS_ADDRESS_FIX true) -set(NAS_NETLINK True) -set(NAS_UE True) -set(NEW_FFT True) -set(NO_RRM True) -set(OAI_EMU True) -set(OAI_EMU True) -set(OAI_NW_DRIVER_TYPE_ETHERNET False) -set(OPENAIR1 False) -set(OPENAIR2 True) -set(OPENAIR_EMU True) -set(OPENAIR_LTE True) -set (PACKAGE_NAME "oaisim") -set(PACKAGE_NAME "oaisim") -set(PBS_SIM False) -set(PC_DSP False) -set(PC_TARGET False) -set(PDCP_MSG_PRINT False) -set(PERFECT_CE False) -set(PHY_ABSTRACTION True) -set(PHY_ABSTRACTION True) -set(PHY_EMUL False) -set(PHYSIM False) -set(PUCCH True) -set(RANDOM_BF False) -set(RF_BOARD "NoBoard") -set(RLC_STOP_ON_LOST_PDU True) -set(RRC_ASN1_VERSION False) -set(RRC_ASN1_VERSION "Rel10") -set(RRC_MSG_PRINT False) -set(RTAI False) -set(SECU False) -set(SMBV False) -set(SPECTRA False) -set(TEST_OMG False) -set(UE_BUILD False) -set(USE_3GPP_ADDR_AS_LINK_ADDR False) -set(USE_MME False) -set(USER_MODE True) -set(XER_PRINT True) -set(XFORMS False) +set ( ADDR_CONF False ) +set ( ASSERT True ) +set ( DEBUG_OMG False ) +set ( DISABLE_USE_NAS False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 False ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI False ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_GTPU_IN_KERNEL False ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_NETFILTER_FOR_SGI False ) +set ( ENABLE_USE_PCAP_FOR_SGI False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False ) +set ( ENABLE_VCD_FIFO True ) +set ( ENB_MODE True ) +set ( EPC_BUILD False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False ) +set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD True ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS True ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC False ) +set ( NAS_BUILT_IN_UE False ) +set ( NAS_MME False ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX 2 ) +set ( NB_ANTENNAS_TX 2 ) +set ( NB_ANTENNAS_TXRX 2 ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OAISIM True ) +set ( OPENAIR1 False ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PBS_SIM False ) +set ( PC_DSP False ) +set ( PC_TARGET False ) +set ( PDCP_MSG_PRINT False ) +set ( PDCP_USE_NETLINK False ) +set ( PDCP_USE_NETLINK_QUEUES False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT 1 ) +set ( PHY_EMUL False ) +set ( PHYSIM False ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD False ) +set ( RLC_STOP_ON_LOST_PDU True ) +set ( RRC_ASN1_VERSION Rel10 ) +set ( RRC_DEFAULT_RAB_IS_AM False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) +set ( S1AP_VERSION R10 ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) +set ( TEST_OMG False ) +set ( TRACE_RLC_AM_BO False ) +set ( TRACE_RLC_AM_FREE_SDU False ) +set ( TRACE_RLC_AM_HOLE False ) +set ( TRACE_RLC_AM_PDU True ) +set ( TRACE_RLC_AM_RESEGMENT False ) +set ( TRACE_RLC_AM_RX_DECODE False ) +set ( TRACE_RLC_AM_RX False ) +set ( TRACE_RLC_AM_STATUS_CREATION False ) +set ( TRACE_RLC_AM_TX False ) +set ( TRACE_RLC_AM_TX_STATUS False ) +set ( TRACE_RLC_PAYLOAD False ) +set ( TRACE_RLC_UM_DAR False ) +set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) +set ( TRACE_RLC_UM_PDU True ) +set ( TRACE_RLC_UM_RX False ) +set ( TRACE_RLC_UM_SEGMENT False ) +set ( TRACE_RLC_UM_TX_STATUS False ) +set ( UE_BUILD False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME False ) +set ( USER_MODE True ) +set ( XER_PRINT True ) +set ( XFORMS False ) include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/test.0108/CMakeLists.txt b/cmake_targets/autotests/test.0108/CMakeLists.txt index d6ac75556e..0b16fc722a 100644 --- a/cmake_targets/autotests/test.0108/CMakeLists.txt +++ b/cmake_targets/autotests/test.0108/CMakeLists.txt @@ -57,7 +57,7 @@ set(PUCCH True) set(RANDOM_BF False) set(RF_BOARD "NoBoard") set(RLC_STOP_ON_LOST_PDU True) -set(RRC_ASN1_VERSION False) +set(RRC_ASN1_VERSION Rel10) set(RRC_ASN1_VERSION "Rel10") set(RRC_MSG_PRINT False) set(RTAI False) diff --git a/cmake_targets/autotests/test.0114/CMakeLists.txt b/cmake_targets/autotests/test.0114/CMakeLists.txt index 2bc90e5c2d..426c824bff 100644 --- a/cmake_targets/autotests/test.0114/CMakeLists.txt +++ b/cmake_targets/autotests/test.0114/CMakeLists.txt @@ -57,7 +57,7 @@ set(PUCCH True) set(RANDOM_BF False) set(RF_BOARD "NoBoard") set(RLC_STOP_ON_LOST_PDU True) -set(RRC_ASN1_VERSION False) +set(RRC_ASN1_VERSION Rel8) set(RRC_ASN1_VERSION "Rel8") set(RRC_MSG_PRINT False) set(RTAI False) diff --git a/cmake_targets/autotests/test.0115/CMakeLists.txt b/cmake_targets/autotests/test.0115/CMakeLists.txt index 285d13eceb..b6124779a5 100644 --- a/cmake_targets/autotests/test.0115/CMakeLists.txt +++ b/cmake_targets/autotests/test.0115/CMakeLists.txt @@ -1,75 +1,112 @@ cmake_minimum_required(VERSION 2.8) -set(ADDR_CONF False) -set(ASSERT True) -set(DEBUG_OMG False) -set(DISABLE_XER_PRINT False) -set(DRIVER2013 False) -set(ENABLE_FXP True) -set(ENABLE_ITTI True) -set(ENABLE_NAS_UE_LOGGING False) -set(ENABLE_NEW_MULTICAST True) -set(ENABLE_PDCP_NETLINK_FIFO True) -set(ENABLE_PGM_TRANSPORT True) -set(ENABLE_RAL True) -set(ENABLE_SECURITY False) -set(ENABLE_USE_CPU_EXECUTION_TIME True) -set(ENABLE_USE_MME False) -set(ENABLE_VCD_FIFO True) -set(HARD_RT False) -set(JUMBO_FRAME True) -set(LARGE_SCALE False) -set(LINK_PDCP_TO_GTPV1U False) -set(LINUX_LIST False) -set(LINUX True) -set(LOCALIZATION False) -set(LOG_NO_THREAD True) -set(LOWLATENCY False) -set(MAC_CONTEXT 1) -set(MAX_NUM_CCs 1) -set(MIH_C_MEDIEVAL_EXTENSIONS True) -set(MSG_PRINT False) -set(MU_RECEIVER False) -set(NAS_ADDRESS_FIX true) -set(NAS_NETLINK True) -set(NAS_UE True) -set(NEW_FFT True) -set(NO_RRM True) -set(OAI_EMU True) -set(OAI_EMU True) -set(OAI_NW_DRIVER_TYPE_ETHERNET True) -set(OPENAIR1 False) -set(OPENAIR2 True) -set(OPENAIR_EMU True) -set(OPENAIR_LTE True) -set (PACKAGE_NAME "oaisim") -set(PACKAGE_NAME "oaisim") -set(PBS_SIM False) -set(PC_DSP False) -set(PC_TARGET False) -set(PDCP_MSG_PRINT False) -set(PERFECT_CE False) -set(PHY_ABSTRACTION True) -set(PHY_ABSTRACTION True) -set(PHY_EMUL False) -set(PHYSIM False) -set(PUCCH True) -set(RANDOM_BF False) -set(RF_BOARD "NoBoard") -set(RLC_STOP_ON_LOST_PDU True) -set(RRC_ASN1_VERSION False) -set(RRC_ASN1_VERSION "Rel10") -set(RRC_MSG_PRINT False) -set(RTAI False) -set(SECU False) -set(SMBV False) -set(SPECTRA False) -set(TEST_OMG False) -set(UE_BUILD False) -set(USE_3GPP_ADDR_AS_LINK_ADDR False) -set(USE_MME False) -set(USER_MODE True) -set(XER_PRINT False) -set(XFORMS False) +set ( ADDR_CONF False ) +set ( ASSERT True ) +set ( DEBUG_OMG False ) +set ( DISABLE_USE_NAS False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 False ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL True ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_GTPU_IN_KERNEL False ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_NETFILTER_FOR_SGI False ) +set ( ENABLE_USE_PCAP_FOR_SGI False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False ) +set ( ENABLE_VCD_FIFO True ) +set ( ENB_MODE True ) +set ( EPC_BUILD False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False ) +set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD True ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS True ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC False ) +set ( NAS_BUILT_IN_UE False ) +set ( NAS_MME False ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX 2 ) +set ( NB_ANTENNAS_TX 2 ) +set ( NB_ANTENNAS_TXRX 2 ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OAISIM True ) +set ( OPENAIR1 False ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PBS_SIM False ) +set ( PC_DSP False ) +set ( PC_TARGET False ) +set ( PDCP_MSG_PRINT False ) +set ( PDCP_USE_NETLINK_QUEUES False ) +set ( PDCP_USE_NETLINK True ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT 1 ) +set ( PHY_EMUL False ) +set ( PHYSIM False ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD False ) +set ( RLC_STOP_ON_LOST_PDU True ) +set ( RRC_ASN1_VERSION Rel10 ) +set ( RRC_DEFAULT_RAB_IS_AM False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) +set ( S1AP_VERSION R10 ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) +set ( TEST_OMG False ) +set ( TRACE_RLC_AM_BO False ) +set ( TRACE_RLC_AM_FREE_SDU False ) +set ( TRACE_RLC_AM_HOLE False ) +set ( TRACE_RLC_AM_PDU True ) +set ( TRACE_RLC_AM_RESEGMENT False ) +set ( TRACE_RLC_AM_RX_DECODE False ) +set ( TRACE_RLC_AM_RX False ) +set ( TRACE_RLC_AM_STATUS_CREATION False ) +set ( TRACE_RLC_AM_TX False ) +set ( TRACE_RLC_AM_TX_STATUS False ) +set ( TRACE_RLC_PAYLOAD False ) +set ( TRACE_RLC_UM_DAR False ) +set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) +set ( TRACE_RLC_UM_PDU True ) +set ( TRACE_RLC_UM_RX False ) +set ( TRACE_RLC_UM_SEGMENT False ) +set ( TRACE_RLC_UM_TX_STATUS False ) +set ( UE_BUILD False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME False ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/test.0120/CMakeLists.txt b/cmake_targets/autotests/test.0120/CMakeLists.txt new file mode 100644 index 0000000000..32e3f4a0b1 --- /dev/null +++ b/cmake_targets/autotests/test.0120/CMakeLists.txt @@ -0,0 +1,111 @@ +cmake_minimum_required(VERSION 2.8) + +set ( ADDR_CONF False ) +set ( ASSERT True ) +set ( DEBUG_OMG False ) +set ( DISABLE_USE_NAS False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 False ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI False ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_GTPU_IN_KERNEL False ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_NETFILTER_FOR_SGI False ) +set ( ENABLE_USE_PCAP_FOR_SGI False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False ) +set ( ENABLE_VCD_FIFO True ) +set ( ENB_MODE True ) +set ( EPC_BUILD False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False ) +set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD True ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS True ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC False ) +set ( NAS_BUILT_IN_UE False ) +set ( NAS_MME False ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX 2 ) +set ( NB_ANTENNAS_TX 2 ) +set ( NB_ANTENNAS_TXRX 2 ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OAISIM True ) +set ( OPENAIR1 False ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PBS_SIM False ) +set ( PC_DSP False ) +set ( PC_TARGET False ) +set ( PDCP_MSG_PRINT False ) +set ( PDCP_USE_NETLINK_QUEUES False ) +set ( PDCP_USE_NETLINK True ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT 1 ) +set ( PHY_EMUL False ) +set ( PHYSIM False ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD False ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_ASN1_VERSION Rel8 ) +set ( RRC_DEFAULT_RAB_IS_AM False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) +set ( S1AP_VERSION R10 ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) +set ( TEST_OMG False ) +set ( TRACE_RLC_AM_BO False ) +set ( TRACE_RLC_AM_FREE_SDU False ) +set ( TRACE_RLC_AM_HOLE False ) +set ( TRACE_RLC_AM_PDU True ) +set ( TRACE_RLC_AM_RESEGMENT False ) +set ( TRACE_RLC_AM_RX_DECODE False ) +set ( TRACE_RLC_AM_RX False ) +set ( TRACE_RLC_AM_STATUS_CREATION False ) +set ( TRACE_RLC_AM_TX False ) +set ( TRACE_RLC_AM_TX_STATUS False ) +set ( TRACE_RLC_PAYLOAD False ) +set ( TRACE_RLC_UM_DAR False ) +set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) +set ( TRACE_RLC_UM_PDU True ) +set ( TRACE_RLC_UM_RX False ) +set ( TRACE_RLC_UM_SEGMENT False ) +set ( TRACE_RLC_UM_TX_STATUS False ) +set ( UE_BUILD False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME False ) +set ( USER_MODE True ) +set ( XER_PRINT True ) +set ( XFORMS False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/build_oai.bash b/cmake_targets/build_oai.bash index efbae8aee2..d377b0a5bd 100755 --- a/cmake_targets/build_oai.bash +++ b/cmake_targets/build_oai.bash @@ -37,7 +37,7 @@ ################################ ORIGIN_PATH=$PWD THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -source $THIS_SCRIPT_PATH/build_helper.bash +source $THIS_SCRIPT_PATH/tools/build_helper.bash #EMULATION_DEV_INTERFACE="eth0" #EMULATION_MULTICAST_GROUP=1 @@ -60,14 +60,14 @@ do clean_kernel echo_info "Erased iptables config and removed modules from kernel" shift;; - -C | --config-file) - CONFIG_FILE=$2 - echo_info "Will install the config file $CONFIG_FILE" - shift 2;; -I | --install-external-packages) INSTALL_EXTERNAL=1 echo_info "Will install external packages" shift;; + --install-optional-packages) + INSTALL_OPTIONAL=1 + echo_info "Will install optional packages" + shift;; -g | --run-with-gdb) GDB=1 echo_info "Will Compile with gdb symbols" @@ -141,7 +141,7 @@ echo_info "2. Setting the OAI PATHS ..." set_openair_env cecho "OPENAIR_HOME = $OPENAIR_HOME" $green -dbin=$OPENAIR_HOME/cmake_targets/bin +dbin=$OPENAIR_HOME/targets/bin dlog=$OPENAIR_HOME/cmake_targets/log mkdir -p $dbin $dlog @@ -149,13 +149,18 @@ if [ "$INSTALL_EXTERNAL" = "1" ] ; then echo_info "Installing packages" check_install_oai_software echo_info "Making X.509 certificates" - make_certs + make_certs eur if [ "$HW" == "USRP" ] ; then echo_info "installing packages for USRP support" check_install_usrp_uhd_driver fi fi +if [ "$INSTALL_OPTIONAL" = "1" ] ; then + echo_info "Installing optional packages" + check_install_additional_tools +fi + echo_info "3. building the compilation directives ..." DIR=$OPENAIR_HOME/cmake_targets @@ -164,6 +169,7 @@ DIR=$OPENAIR_HOME/cmake_targets #####################################" # For eNB, UE, ... +############ mkdir -p $DIR/lte_build_oai/build cmake_file=$DIR/lte_build_oai/CMakeLists.txt echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file @@ -177,6 +183,7 @@ cd $DIR/lte_build_oai/build cmake .. # For EPC +############ cmake_file=$DIR/epc_build_oai/CMakeLists.txt cp $DIR/epc_build_oai/CMakeLists.template $cmake_file echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file @@ -186,6 +193,7 @@ cd $DIR/epc_build_oai/build cmake .. # For oaisim +############ cmake_file=$DIR/oaisim_build_oai/CMakeLists.txt cp $DIR/oaisim_build_oai/CMakeLists.template $cmake_file echo "set(XFORMS $XFORMS )" >> $cmake_file @@ -196,7 +204,20 @@ mkdir -p $DIR/oaisim_build_oai/build cd $DIR/oaisim_build_oai/build cmake .. +# For oaisim_mme +############ +cmake_file=$DIR/oaisim_mme_build_oai/CMakeLists.txt +cp $DIR/oaisim_mme_build_oai/CMakeLists.template $cmake_file +echo "set(XFORMS $XFORMS )" >> $cmake_file +echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file +echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file +echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file +mkdir -p $DIR/oaisim_build_oai/build +cd $DIR/oaisim_build_oai/build +cmake .. + # For unitary test simulators +################### cd $OPENAIR_DIR/cmake_targets/lte-simulators [ "$CLEAN" = "1" ] && rm -rf build mkdir -p build @@ -210,6 +231,10 @@ if [ "$eNB" = "1" -o "UE" = "1" ] ; then compilations \ lte_build_oai lte-softmodem \ lte-softmodem lte-softmodem.$REL + # nasmesh driver compilation + compilations \ + oaisim_build_oai nasmesh \ + CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko fi if [ "$UE" = 1 ] ; then @@ -219,11 +244,11 @@ if [ "$UE" = 1 ] ; then lte_build_oai ue_ip \ CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko compilations \ - lte_build_oai usim_data \ - usim_data $dbin/usim_data + lte_build_oai usim \ + usim $dbin/usim compilations \ - lte_build_oai ue_data \ - ue_data $dbin/ue_data + lte_build_oai nvram \ + nvram $dbin/nvram fi if [ "$SIMUS_PHY" = "1" ] ; then @@ -238,10 +263,11 @@ if [ "$SIMUS_PHY" = "1" ] ; then fi # Core simulators +############# if [ "$SIMUS_CORE" = "1" ] ; then # lte unitary simulators compilation echo_info "Compiling unitary tests simulators" - simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu secu_knas_stream_int secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2" + simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2" for f in $simlist ; do compilations \ lte-simulators test_$f \ @@ -250,6 +276,7 @@ if [ "$SIMUS_CORE" = "1" ] ; then fi # EXMIMO drivers & firmware loader +############### if [ "$HW" = "EXMIMO" ] ; then echo_info "Compiling Express MIMO 2 board drivers" compilations \ @@ -266,16 +293,12 @@ if [ "$oaisim" = "1" ] ; then oaisim_build_oai oaisim \ oaisim $dbin/oaisim.$REL compilations \ - oaisim_build_oai oaisim_mme \ + oaisim_mme_build_oai oaisim_mme \ oaisim_mme $dbin/oaisim_mme.$REL #oai_nw_drv compilations \ oaisim_build_oai oai_nw_drv \ CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko - # nasmesh driver compilation - compilations \ - oaisim_build_oai nasmesh \ - CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko fi # EPC compilation @@ -284,11 +307,12 @@ if [ "$EPC" = "1" ] ; then echo_info "Compiling EPC" compilations \ - epc_build_oai oai_epc \ - oai_epc $dbin/oai_epc.$REL - compilations \ - epc_build_oai oai_sgw \ - oai_sgw $dbin/oai_sgw.$REL + epc_build_oai mme_gw \ + mme_gw $dbin/mme_gw.$REL +# Only integrated mme+sgw+pgw is operational today +# compilations \ +# epc_build_oai oai_sgw \ +# oai_sgw $dbin/oai_sgw.$REL compilations \ epc_build_oai xt_GTPUAH_lib \ libxt_GTPUAH_lib.so $dbin @@ -306,27 +330,29 @@ if [ "$EPC" = "1" ] ; then fi if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then + echo_info "Copying iptables libraries into system directory: /lib/xtables" $SUDO ln -s $dbin/libxt_GTPURH_lib.so /lib/xtables/libxt_GTPURH.so $SUDO ln -s $dbin/libxt_GTPUAH_lib.so /lib/xtables/libxt_GTPUAH.so -fi - -# Install config file -################### -if [ "$CONFIG_FILE" != "" ] ; then - - dconf=$DIR/conf + dconf=$OPENAIR_TARGETS/bin mkdir -p $dconf cp $ORIGIN_PATH/$CONFIG_FILE $dconf || echo_fatal "config file $ORIGIN_PATH/$CONFIG_FILE not found" # generate USIM data install_nas_tools $dbin $dconf + # Do EPC + cp $DIR/epc_build_oai/epc.*.conf $dconf + $SUDO cp $DIR/epc_build_oai/epc_s6a.conf /usr/local/etc/freeDiameter + # Do HSS # bash doesn't like space char around = char - sed -e 's/ *= */=/' $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.local.conf > $dconf/hss.local.conf - source $dconf/hss.local.conf + cp $DIR/hss_build/hss.conf $dbin + $SUDO cp $DIR/hss_build/hss_fd.conf $DIR/hss_build/acl.conf /usr/local/etc/freeDiameter + + sed -e 's/ *= */=/' $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.conf > $dconf/hss.conf.nospace + source $dconf/hss.conf.nospace create_hss_database root linux "$MYSQL_user" "$MYSQL_pass" "$MYSQL_db" fi @@ -336,143 +362,7 @@ fi if [ "$OAI_TEST" = "1" ]; then echo_info "10. Running OAI pre commit tests (pre-ci) ..." $OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash + $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash else echo_info "10. Bypassing the Tests ..." fi - -exit 0 - - - -########################################### -# configure and compile -########################################## - - - HSS_REALM=$(echo $Identity | sed 's/.*\.//') - HSS_HOSTNAME=${Identity%.$HSS_REALM} - NEW_HOSTNAME=`hostname -s` - if [ "x$HSS_HOSTNAME" != "x$NEW_HOSTNAME" ]; then - echo_warning "Changing identity of HSS from <$HSS_HOSTNAME.$HSS_REALM> to <$NEW_HOSTNAME.$HSS_REALM>" - sed -ibak "s/$HSS_HOSTNAME/$NEW_HOSTNAME/" $OPENAIRCN_DIR/OPENAIRHSS/conf/hss_fd.conf - fi - check_hss_s6a_certificate $HSS_REALM - -###################################### -# fill the HSS DB -###################################### - echo_info "6. create HSS database (for EURECOM SIM CARDS)" - hss_db_created=1 - create_hss_database $OAI_DB_ADMIN_USER_NAME $OAI_DB_ADMIN_USER_PASSWORD $MYSQL_user $MYSQL_pass $MYSQL_db - if [ $? -eq 1 ]; then - echo_fatal "hss DB not created" - fi -} - - - -############################################ -# run -############################################ - -if [ $RUN -ne 0 ]; then - echo_info "11. Running ..." - cd $OPENAIR_TARGETS/bin - case "$BUILD_LTE" in - 'ENB') - if [ $TARGET == "SOFTMODEM" ]; then - if [ $HW == "EXMIMO" ]; then - $SUDO $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh - fi - echo "############# running ltesoftmodem #############" - if [ $RUN_GDB -eq 0 ]; then - $SUDO $OPENAIR_TARGETS/bin/lte-softmodem `echo $EXE_ARGUMENTS` - else - $SUDO setenv MALLOC_CHECK_ 2 - $SUDO touch ~/.gdb_lte_softmodem - $SUDO echo "file $OPENAIR_TARGETS/bin/lte-softmodem" > ~/.gdb_lte_softmodem - $SUDO echo "set args $EXE_ARGUMENTS" >> ~/.gdb_lte_softmodem - $SUDO echo "run" >> ~/.gdb_lte_softmodem - $SUDO gdb -nh -x ~/.gdb_lte_softmodem 2>&1 - fi - - elif [ $TARGET == "OAISIM" ]; then - - if [ $ENB_S1 -eq 0 ]; then - install_nasmesh - else - # prepare NAS for UE - if [ ! -f .ue.nvram ]; then - echo_success "generate .ue_emm.nvram .ue.nvram" - $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --gen - fi - - if [ ! -f .usim.nvram ]; then - echo_success "generate .usim.nvram" - $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --gen - fi - $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --print - $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --print - - insmod $OPENAIR2_DIR/NETWORK_DRIVER/UE_IP/ue_ip.ko - - fi - - if [ $RUN_GDB -eq 0 ]; then - $SUDO exec $OPENAIR_TARGETS/bin/oaisim `echo $EXE_ARGUMENTS` - else - $SUDO setenv MALLOC_CHECK_ 2 - $SUDO touch ~/.gdb_oaisim - $SUDO echo "file $OPENAIR_TARGETS/bin/lte-oaisim" > ~/.gdb_oaisim - $SUDO echo "set args $EXE_ARGUMENTS" >> ~/.gdb_oaisim - $SUDO echo "run" >> ~/.gdb_oaisim - $SUDO gdb -nh -x ~/.gdb_oaisim 2>&1 - fi - fi - ;; - - - 'EPC') - echo "############# running EPC #############" - test_is_host_reachable $HSS_HOSTNAME.$REALM HSS - if [ $RUN_GDB -eq 0 ]; then - $SUDO $OPENAIR_TARGETS/bin/oai_epc `echo $EXE_ARGUMENTS` - else - touch ~/.gdb_epc - chmod 777 ~/.gdb_epc - echo "file $OPENAIR_TARGETS/bin/oai_epc" > ~/.gdb_epc - echo "set args $EXE_ARGUMENTS" >> ~/.gdb_epc - echo "run" >> ~/.gdb_epc - $SUDO gdb -nh -x ~/.gdb_epc 2>&1 - fi - ;; - - - 'HSS') - echo "############# running HSS #############" - cd $OPENAIRCN_DIR/OPENAIRHSS/objs - if [ $RUN_GDB -eq 0 ]; then - $SUDO exec ./openair-hss -c ./conf/hss.conf - else - touch ~/.gdb_hss - chmod 777 ~/.gdb_hss - echo "file ./openair-hss" > ~/.gdb_hss - echo "set args -c ./conf/hss.conf" >> ~/.gdb_hss - echo "run" >> ~/.gdb_hss - $SUDO gdb -nh -x ~/.gdb_hss 2>&1 - fi - ;; - - - 'NONE') - ;; - - - *) - echo_error "Unknown option $BUILD_LTE: do not execute" - ;; - esac -else - echo_info "11. No run requested, end of script" - exit 0 -fi diff --git a/cmake_targets/epc_build_oai/CMakeLists.template b/cmake_targets/epc_build_oai/CMakeLists.template index 0e84606f16..6f6316bfec 100644 --- a/cmake_targets/epc_build_oai/CMakeLists.template +++ b/cmake_targets/epc_build_oai/CMakeLists.template @@ -38,6 +38,7 @@ set ( MIH_C_MEDIEVAL_EXTENSIONS False ) set ( MSG_PRINT False ) set ( MU_RECEIVER False ) set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC True ) set ( NAS_MME True ) set ( NAS_NETLINK False ) set ( NAS_UE False ) diff --git a/cmake_targets/hss_build/CMakeLists.txt b/cmake_targets/hss_build/CMakeLists.txt new file mode 100755 index 0000000000..287c3a2ab5 --- /dev/null +++ b/cmake_targets/hss_build/CMakeLists.txt @@ -0,0 +1,300 @@ +################################################################################ +# OpenAirInterface +# Copyright(c) 1999 - 2014 Eurecom +# +# OpenAirInterface is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenAirInterface is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenAirInterface.The full GNU General Public License is +# included in this distribution in the file called "COPYING". If not, +# see <http://www.gnu.org/licenses/>. +# +# Contact Information +# OpenAirInterface Admin: openair_admin@eurecom.fr +# OpenAirInterface Tech : openair_tech@eurecom.fr +# OpenAirInterface Dev : openair4g-devel@eurecom.fr +# +# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE +# Author: Lionel GAUTHIER +############################################################################### +cmake_minimum_required(VERSION 2.8) +set(CMAKE_VERBOSE_MAKEFILE ON) + + +project(HSS) + + +ENABLE_LANGUAGE(C) +#Sends the -std=c99 flag to the gcc compiler +#add_definitions(-std=c99) + +ADD_DEFINITIONS(-D_GNU_SOURCE) + +set(OPENAIR_DIR $ENV{OPENAIR_DIR}) +set(OPENAIR1_DIR ${OPENAIR_DIR}/openair1) +set(OPENAIR2_DIR ${OPENAIR_DIR}/openair2) +set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3) +set(OPENAIRCN_DIR ${OPENAIR_DIR}/openair-cn) +set(OPENAIR_TARGETS ${OPENAIR_DIR}/targets) +set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools) +set(OPENAIRHSS_DIR ${OPENAIRCN_DIR}/OPENAIRHSS) +set(OPENAIR_BIN_DIR ${OPENAIR_TARGETS}/bin) + + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OPENAIR_TARGETS}/CMAKE/MODULES/") +include(cmake_useful) + +macro(add_option name val helpstr) + if(DEFINED ${name}) + set(value ${${name}}) + else(DEFINED ${name}) + set(value ${val}) + endif() + set(${name} ${value} CACHE STRING "${helpstr}") + add_definitions("-D${name}=${value}") +endmacro(add_option) + + + +# compilation flags +# added CMAKER conditional compilation to not bother legacy building system +############################################# +if(NOT CMAKE_BUILD_TYPE) +set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE) +endif() +set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel) + +# +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -DCMAKER") +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -DMALLOC_CHECK_=3") +set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -DMALLOC_CHECK_=3 -O2") + + +INCLUDE(FindMySQL) +IF( NOT MySQL_FOUND ) + MESSAGE( SEND_ERROR "MySQL Client is required" ) +ENDIF( NOT MySQL_FOUND ) + +INCLUDE(FindNettle) +IF( NOT NETTLE_FOUND ) + MESSAGE( SEND_ERROR "Nettle is required" ) +ENDIF( NOT NETTLE_FOUND ) + + + +INCLUDE(FindFreeDiameter) +IF( NOT FREEDIAMETER_FOUND ) + MESSAGE( SEND_ERROR "FreeDiameter is required (use OAI installer)" ) +ENDIF( NOT FREEDIAMETER_FOUND ) +IF( NOT FREEDIAMETER_HSS_S6A_ENABLED ) + MESSAGE( SEND_ERROR "FreeDiameter is not enabled for OPENAIRHSS" ) +ENDIF( NOT FREEDIAMETER_HSS_S6A_ENABLED ) +add_definitions("-DFREEDIAMETER_VERSION=${FREEDIAMETER_VERSION}") + +find_package(BISON REQUIRED) +find_package(FLEX REQUIRED) + +set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +find_package(Threads REQUIRED) + +#find_package(Subversion) +#if(SUBVERSION_FOUND) +# Subversion_WC_INFO(${OPENAIR_DIR} openair) +# set (PACKAGE_VERSION "${openair_WC_REVISION} - ${openair_WC_LAST_CHANGED_DATE}") +# Subversion_WC_LOG(${OPENAIR_DIR} openair) +# message("Last changed log is ${openair_LAST_CHANGED_LOG}") +# add_definitions("-DPACKAGE_VERSION=\"${PACKAGE_VERSION}\"") +#else() +set (PACKAGE_VERSION "No svn information") +#endif() + +add_definitions("-DPACKAGE_NAME=\"OPENAIRHSS\"") + + +################################################################################ +# ACCESS RESTRICTION LIB +################################################################################ +set(ar_SRC + ${OPENAIRHSS_DIR}/access_restriction/access_restriction.c +) +set(ar_HDR + ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h + ${OPENAIRHSS_DIR}/utils/conversion.h +) + +add_library(hss_access_restriction ${ar_SRC} ${ar_HDR}) +target_include_directories(hss_access_restriction PRIVATE ${OPENAIRHSS_DIR}/utils) + + +################################################################################ +# AUC LIB +################################################################################ +set(auc_SRC + ${OPENAIRHSS_DIR}/auc/fx.c + ${OPENAIRHSS_DIR}/auc/kdf.c + ${OPENAIRHSS_DIR}/auc/random.c + ${OPENAIRHSS_DIR}/auc/rijndael.c + ${OPENAIRHSS_DIR}/auc/sequence_number.c +) +set(auc_HDR + ${OPENAIRHSS_DIR}/auc/auc.h +) + +add_library(hss_auc ${auc_SRC} ${auc_HDR}) + + +################################################################################ +# DB LIB +################################################################################ +set(db_SRC + ${OPENAIRHSS_DIR}/db/db_connector.c + ${OPENAIRHSS_DIR}/db/db_epc_equipment.c + ${OPENAIRHSS_DIR}/db/db_subscription_data.c +) +set(db_HDR + ${OPENAIRHSS_DIR}/db/db_proto.h + ${OPENAIRHSS_DIR}/utils/hss_config.h +) + +add_library(hss_db ${db_SRC} ${db_HDR}) +target_include_directories(hss_db PRIVATE ${OPENAIRHSS_DIR}/utils) + + +################################################################################ +# S6A LIB +################################################################################ +set(s6a_SRC + ${OPENAIRHSS_DIR}/s6a/s6a_auth_info.c + ${OPENAIRHSS_DIR}/s6a/s6a_common.c + ${OPENAIRHSS_DIR}/s6a/s6a_error.c + ${OPENAIRHSS_DIR}/s6a/s6a_fd.c + ${OPENAIRHSS_DIR}/s6a/s6a_in_addr.c + ${OPENAIRHSS_DIR}/s6a/s6a_peers.c + ${OPENAIRHSS_DIR}/s6a/s6a_purge_ue.c + ${OPENAIRHSS_DIR}/s6a/s6a_subscription_data.c + ${OPENAIRHSS_DIR}/s6a/s6a_supported_features.c + ${OPENAIRHSS_DIR}/s6a/s6a_up_loc.c +) +set(s6a_HDR + ${OPENAIRHSS_DIR}/s6a/s6a_proto.h + ${OPENAIRHSS_DIR}/db/db_proto.h + ${OPENAIRHSS_DIR}/utils/hss_config.h + ${OPENAIRHSS_DIR}/auc/auc.h + ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h +) + +add_library(hss_s6a ${s6a_SRC} ${s6a_HDR}) +target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/utils) +target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/db) +target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/auc) +target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/access_restriction) +target_include_directories(hss_s6a PRIVATE ${FREEDIAMETER_INCLUDE_DIR}) + +################################################################################ +# UTILS LIB +################################################################################ +# Create target for the parser + ADD_CUSTOM_TARGET(HSSParser echo "Creating hss_parser.c") + +set(UTILS_GENERATED_DIR ${OPENAIR_BIN_DIR}) + +# Create custom command for flex/lex (note the outputs) + ADD_CUSTOM_COMMAND( + SOURCE ${OPENAIRHSS_DIR}/utils/hss_scanner.l + COMMAND ${FLEX_EXECUTABLE} + ARGS -o${UTILS_GENERATED_DIR}/hss_scanner.c ${OPENAIRHSS_DIR}/utils/hss_scanner.l + TARGET HSSParser + OUTPUTS ${UTILS_GENERATED_DIR}/hss_scanner.c) + +# Create custom command for bison/yacc (note the DEPENDS) + ADD_CUSTOM_COMMAND( + SOURCE ${OPENAIRHSS_DIR}/utils/hss_parser.y + COMMAND ${BISON_EXECUTABLE} + ARGS -y ${OPENAIRHSS_DIR}/utils/hss_parser.y + -o ${UTILS_GENERATED_DIR}/hss_parser.c + TARGET HSSParser + DEPENDS ${UTILS_GENERATED_DIR}/hss_scanner.c + OUTPUTS ${UTILS_GENERATED_DIR}/hss_parser.c) + +set(utils_SRC + ${UTILS_GENERATED_DIR}/hss_scanner.c + ${UTILS_GENERATED_DIR}/hss_parser.c + ${OPENAIRHSS_DIR}/utils/conversion.c + ${OPENAIRHSS_DIR}/utils/hss_config.c +) +set(utils_HDR + ${UTILS_GENERATED_DIR}/hss_parser.h + ${UTILS_GENERATED_DIR}/hss_scanner.h + ${OPENAIRHSS_DIR}/utils/conversion.h + ${OPENAIRHSS_DIR}/utils/hss_config.h + ${OPENAIRHSS_DIR}/utils/queue.h +) +# Since parser.c does not exists yet when cmake is run, mark +# it as generated +SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.c GENERATED) +SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.c GENERATED) +SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.h GENERATED) +SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.h GENERATED) +SET_SOURCE_FILES_PROPERTIES(${OPENAIRHSS_DIR}/utils/hss_config.c DEPENDS ${UTILS_GENERATED_DIR}/hss_parser.c) +add_library(hss_utils ${utils_SRC} ${utils_HDR}) + +################################################################################ +# EXECUTABLE openair-hss +################################################################################ +include_directories( ${UTILS_GENERATED_DIR} ${OPENAIRHSS_DIR}/utils ${OPENAIRHSS_DIR}/s6a ${OPENAIRHSS_DIR}/db ${OPENAIRHSS_DIR}/auc ${OPENAIRHSS_DIR}/access_restriction) +ADD_EXECUTABLE(openair-hss ${OPENAIRHSS_DIR}/hss_main.c) +target_link_libraries (openair-hss + -Wl,-whole-archive + hss_access_restriction + hss_auc + hss_db + hss_s6a + hss_utils + -Wl,-no-whole-archive + ${MySQL_LIBRARY} + ${NETTLE_LIBRARIES} + ${FREEDIAMETER_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} ) + +# Default parameters +site_name(SITE_HSS_FQDN) +add_option(HSS_FQDN ${SITE_HSS_FQDN} "HSS Fully qualified domain name") +add_option(REALM openair4G.eur "HSS realm TODO: extract this default value from SITE_HSS_FQDN") +add_option(MYSQL_server "127.0.0.1" "Database server IP address") +add_option(MYSQL_admin root "Database admin login") +add_option(MYSQL_admin_pass linux "Database admin password") +add_option(MYSQL_user hssadmin "Database username login") +add_option(MYSQL_pass admin "Database username password") +add_option(MYSQL_db oai_db "Database name") +add_option(TRANSPORT_option No_SCTP "No_TCP or No_SCTP, FreeDiameter config option") +add_option(TRANSPORT_PREFER_TCP_option Prefer_TCP "Prefer_TCP or null string, FreeDiameter config option") +add_option(AppServThreads 2 "FreeDiameter AppServThreads config option") +add_option(OPERATOR_key "11111111111111111111111111111111" "LTE operator clear text key (hex bytes)") +add_option(REMOTE_PEER_WHITELIST "*.${REALM}" "Remote peer whitlist (separeted by spaces), for freediameter acl.conf config file") +IF( FD_SERVER_IP_BIND_LIST ) + set(ListenOn "ListenOn=\"${FD_SERVER_IP_BIND_LIST}\"" "//FreeDiameter server IP bind addresses list") +ELSE( FD_SERVER_IP_BIND_LIST ) + set(ListenOn "#ListenOn=\"\"" "//FreeDiameter server IP bind addresses list") +ENDIF( FD_SERVER_IP_BIND_LIST ) + +configure_file( + ${OPENAIRHSS_DIR}/conf/hss_fd.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/hss_fd.conf) +configure_file( + ${OPENAIRHSS_DIR}/conf/hss.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/hss.conf) +configure_file( + ${OPENAIRHSS_DIR}/conf/acl.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/acl.conf) + +install (TARGETS openair-hss + DESTINATION ${OPENAIR_TARGETS}/bin) + diff --git a/cmake_targets/lte-r10-exmimo/CMakeLists.txt b/cmake_targets/lte-r10-exmimo/CMakeLists.txt deleted file mode 100644 index 3ec92a170e..0000000000 --- a/cmake_targets/lte-r10-exmimo/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -set(PACKAGE_NAME "lte-softmodem") -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/lte-r10-usrp/CMakeLists.txt b/cmake_targets/lte-r10-usrp/CMakeLists.txt deleted file mode 100644 index 2d2c6c9421..0000000000 --- a/cmake_targets/lte-r10-usrp/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -set(PACKAGE_NAME "lte-softmodem") -set(RF_BOARD "USRP") -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/lte-r8/CMakeLists.txt b/cmake_targets/lte-r8/CMakeLists.txt deleted file mode 100644 index 1a7c33c91f..0000000000 --- a/cmake_targets/lte-r8/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -set(PACKAGE_NAME "lte-softmodem") -set(RRC_ASN1_VERSION "Rel8") -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/oaisim-r8/CMakeLists.txt b/cmake_targets/oaisim-r8/CMakeLists.txt deleted file mode 100644 index 6f8f0393e2..0000000000 --- a/cmake_targets/oaisim-r8/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -set (PACKAGE_NAME "oaisim") -set(MAC_CONTEXT True) -set(PHY_ABSTRACTION True) -set(OPENAIR_EMU True) -set(OAI_EMU True) -set(NAS_ADDRESS_FIX true) -set(RRC_ASN1_VERSION "Rel8") -set(XER_PRINT True) - - -set(RF_BOARD None) -set(XFORMS False) - -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/oaisim_build_oai/CMakeLists.template b/cmake_targets/oaisim_build_oai/CMakeLists.template index a348e31e20..40482459dc 100644 --- a/cmake_targets/oaisim_build_oai/CMakeLists.template +++ b/cmake_targets/oaisim_build_oai/CMakeLists.template @@ -15,8 +15,10 @@ set ( ENABLE_PDCP_NETLINK_FIFO False ) set ( ENABLE_PGM_TRANSPORT True ) set ( ENABLE_RAL False ) set ( ENABLE_SECURITY True ) +set ( ENABLE_STANDALONE_EPC False) set ( ENABLE_USE_CPU_EXECUTION_TIME True ) set ( ENABLE_USE_MME True ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True) set ( ENABLE_VCD_FIFO True ) set ( EXMIMO_IOT True ) set ( HARD_RT False ) @@ -52,11 +54,12 @@ set ( OPENAIR_EMU False ) set ( OPENAIR_LTE True ) set ( PACKAGE_NAME "oaisim" ) set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) set ( PC_DSP True ) set ( PC_TARGET True ) set ( PDCP_MSG_PRINT False ) set ( PERFECT_CE False ) -set ( PHY_ABSTRACTION False ) +set ( PHY_ABSTRACTION True ) set ( PHY_CONTEXT False ) set ( PHY_EMUL False ) set ( PHYSIM True ) diff --git a/cmake_targets/oaisim_mme_build_oai/CMakeLists.template b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template new file mode 100644 index 0000000000..9eb0a81ff9 --- /dev/null +++ b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( ASSERT False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 False ) +set ( EMOS False ) +set ( ENABLE_FXP False ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST False ) +set ( ENABLE_PDCP_NETLINK_FIFO False ) +set ( ENABLE_PGM_TRANSPORT False ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False ) +set ( ENABLE_USE_CPU_EXECUTION_TIME False ) +set ( ENABLE_USE_GTPU_IN_KERNEL True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE False ) +set ( EPC_BUILD True ) +set ( EXMIMO_IOT False ) +set ( HARD_RT False ) +set ( JUMBO_FRAME False ) +set ( LARGE_SCALE False ) +set ( LINK_PDCP_TO_GTPV1U False ) +set ( LINUX_LIST False ) +set ( LINUX False ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD False ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX False ) +set ( NAS_BUILT_IN_EPC True ) +set ( NAS_MME True ) +set ( NAS_NETLINK False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT False ) +set ( NO_RRM False ) +set ( OAI_EMU False ) +set ( OAISIM False ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) +set ( OAI_NW_DRIVER_USE_NETLINK False ) +set ( OPENAIR1 False ) +set ( OPENAIR2 False ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE False ) +set ( PACKAGE_NAME "EPC" ) +set ( PBS_SIM False ) +set ( PC_DSP False ) +set ( PC_TARGET False ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION False ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM False ) +set ( PUCCH False ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( UE_BUILD False ) +set ( UPDATE_RELEASE_9 True) +set ( UPDATE_RELEASE_10 True) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) diff --git a/cmake_targets/build_helper.bash b/cmake_targets/tools/build_helper.bash similarity index 74% rename from cmake_targets/build_helper.bash rename to cmake_targets/tools/build_helper.bash index 9e07245835..ed511d8b1d 100755 --- a/cmake_targets/build_helper.bash +++ b/cmake_targets/tools/build_helper.bash @@ -76,11 +76,11 @@ Options Erase all files made by previous compilation, installation" --clean-kernel Erase previously installed features in kernel: iptables, drivers, ... --C | --config-file - The configuration file to install -I | --install-external-packages Installs required packages such as LibXML, asn1.1 compiler, freediameter, ... This option will require root password +--install-optional-packages + Install useful but not mandatory packages such as valgrind -g | --run-with-gdb Add debugging symbols to compilation directives --eNB @@ -140,7 +140,8 @@ clean_kernel() { clean_all_files() { dir=$OPENAIR_DIR/cmake - rm -rf $dir/log $dir/bin $dir/autotests/bin $dir/autotests/log $dir/autotests/*/buid $dir/build_*/build + rm -rf $dir/log $OPENAIR_TARGETS/bin $dir/autotests/bin $dir/autotests/log $dir/autotests/*/buid $dir/build_*/build + rm -rf $dir/oaisim_build_oai/CMakeLists.txt $dir/epc_build_oai/CMakeLists.txt $dir/hss_build/BUILD } ################################### @@ -154,122 +155,56 @@ compilations() { make -j4 $2 } > $dlog/$2.$REL.txt 2>&1 if [ -s $3 ] ; then - cp $3 $dbin/$2.$REL + cp $3 $dbin echo_success "$2 compiled" else echo_error "$2 compilation failed" fi } -run_tests() { - $1 > $2 2>&1 - grep -} - -test_compile() { - mkdir -p $tdir/$1/build - cd $tdir/$1/build - { - cmake .. - rm -f $3 - make -j4 $2 - } > $tdir/log/$1.txt - if [ -s $3 ] ; then - cp $3 $tdir/bin/$3.$1 - echo_success "$1 test compiled" - else - echo_error "$1 test compilation failed" - fi -} - -run_compilation_autotests() { - tdir=$OPENAIR_DIR/cmake_targets/autotests - mkdir -p $tdir/bin $tdir/log - updated=$(svn st -q $OPENAIR_DIR) - if [ "$updated" != "" ] ; then - echo_warning "some files are not in svn: $updated" - fi - test_compile \ - test.0101 oaisim \ - oaisim $tdir/bin/oaisim.r8 - - test_compile \ - test.0102 oaisim \ - oaisim $tdir/bin/oaisim.r8.nas - - test_compile \ - test.0103 oaisim \ - oaisim $tdir/bin/oaisim.r8.rf - - test_compile \ - test.0104 dlsim \ - dlsim $tdir/bin/dlsim - - test_compile \ - test.0104 ulsim \ - ulsim $tdir/bin/ulsim - - test_compile \ - test.0106 oaisim \ - oaisim $tdir/bin/oaisim.r8.itti - - test_compile \ - test.0107 oaisim \ - oaisim $tdir/bin/oaisim.r10 - - test_compile \ - test.0108 oaisim \ - oaisim $tdir/bin/oaisim.r10.itti - - test_compile \ - test.0114 oaisim \ - oaisim $tdir/bin/oaisim.r8.itti.ral - - test_compile \ - test.0115 oaisim \ - oaisim $tdir/bin/oaisim.r10.itti.ral - - test_compile \ - test.0102 nasmesh \ - CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko - -} ########################################## # X.509 certificates ########################################## make_one_cert() { - $SUDO openssl genrsa -out $1.key.pem 1024 - $SUDO openssl req -new -batch -out $1.csr.pem -key $1.key.pem -subj /CN=$1.eur/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM - $SUDO openssl ca -cert cacert.pem -keyfile cakey.pem -in $1.csr.pem -out $1.cert.pem -outdir . -batch + fqdn=$1 + name=$2 + $SUDO openssl genrsa -out $name.key.pem 1024 + $SUDO openssl req -new -batch -out $name.csr.pem -key $name.key.pem -subj /CN=$name.$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM + $SUDO openssl ca -cert cacert.pem -keyfile cakey.pem -in $name.csr.pem -out $name.cert.pem -outdir . -batch } make_certs(){ - + + fqdn=$1 + certs_dir=/usr/local/etc/freeDiameter # certificates are stored in diameter config directory - if [ ! -d /usr/local/etc/freeDiameter ]; then - echo "Creating non existing directory: /usr/local/etc/freeDiameter/" - $SUDO mkdir -p /usr/local/etc/freeDiameter/ || echo_error "can't create: /usr/local/etc/freeDiameter/" + if [ ! -d $certs_dir ]; then + echo "Creating non existing directory: $certs_dir" + $SUDO mkdir -p $certs_dir || echo_error "can't create: $certs_dir" fi - cd /usr/local/etc/freeDiameter + cd $certs_dir echo "creating the CA certificate" echo_warning "erase all existing certificates as long as the CA is regenerated" - $SUDO rm -f /usr/local/etc/freeDiameter/*.pem + $SUDO rm -f $certs_dir/*.pem + $SUDO mkdir -p $certs_dir/demoCA/ + $SUDO sh -c "echo 01 > $certs_dir/demoCA/index.txt" # CA self certificate - $SUDO openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=eur/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM + $SUDO openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM # generate hss certificate and sign it - make_one_cert hss - make_one_cert mme + make_one_cert eur hss + make_one_cert eur mme # legacy config is using a certificate named 'user' - make_one_cert user + make_one_cert eur user } + ############################################ # External packages installers ############################################ @@ -316,18 +251,40 @@ install_freediameter_from_source() { cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ echo "Compiling freeDiameter" make -j4 - make test + #make test $SUDO make install rm -rf /tmp/1.1.5.tar.gz /tmp/freeDiameter-1.1.5 } check_install_usrp_uhd_driver(){ - if [ ! -f /etc/apt/sources.list.d/ettus.list ] ; then - $SUDO bash -c 'echo "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/`lsb_release -cs` `lsb_release -cs` main" >> /etc/apt/sources.list.d/ettus.list' + v=$(lsb_release -cs) + $SUDO apt-add-repository "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main" $SUDO apt-get update - fi - $SUDO apt-get -y install python libboost-all-dev libusb-1.0-0-dev - $SUDO apt-get -y install -t `lsb_release -cs` uhd + $SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev + $SUDO apt-get -y install -t `lsb_release -cs` uhd --force-yes +} + +check_install_additional_tools (){ + $SUDO apt-get update + $SUDO apt-get install -y \ + check \ + dialog \ + dkms \ + gawk \ + libboost-all-dev \ + libpthread-stubs0-dev \ + openvpn \ + phpmyadmin \ + pkg-config \ + python-dev \ + python-pexpect \ + sshfs \ + swig \ + tshark \ + uml-utilities \ + unzip \ + valgrind \ + vlan } check_install_oai_software() { @@ -338,17 +295,11 @@ check_install_oai_software() { automake \ bison \ build-essential \ - check \ cmake \ cmake-curses-gui \ - dialog \ - dkms \ doxygen \ ethtool \ flex \ - g++ \ - gawk \ - gcc \ gccxml \ gdb \ graphviz \ @@ -362,19 +313,17 @@ check_install_oai_software() { libatlas-dev \ libblas3gf \ libblas-dev \ - libboost-all-dev \ libconfig8-dev \ libforms-bin \ libforms-dev \ libgcrypt11-dev \ libgmp-dev \ libgtk-3-dev \ - libidn11-dev \ libidn2-0-dev \ + libidn11-dev \ libmysqlclient-dev \ libpgm-5.1 \ libpgm-dev \ - libpthread-stubs0-dev \ libsctp1 \ libsctp-dev \ libssl-dev \ @@ -384,26 +333,13 @@ check_install_oai_software() { libxml2 \ libxml2-dev \ linux-headers-`uname -r` \ - make \ mysql-client \ mysql-server \ openssh-client \ openssh-server \ openssl \ - openvpn \ - phpmyadmin \ - pkg-config \ python \ - python-dev \ - python-pexpect \ - sshfs \ - subversion \ - swig \ - tshark \ - uml-utilities \ - unzip \ - valgrind \ - vlan + subversion if [ `lsb_release -rs` = '12.04' ] ; then install_nettle_from_source install_gnutls_from_source @@ -418,10 +354,10 @@ install_asn1c_from_source(){ mkdir -p /tmp/asn1c-r1516 cd /tmp/asn1c-r1516 rm -rf /tmp/asn1c-r1516/* - svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 - patch -p0 < $OPENAIRCN_DIR/S1AP/MESSAGES/ASN1/asn1cpatch.p0 + svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c + patch -p0 < $OPENAIRCN_DIR/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c ./configure - make + make > /tmp/log_compile_asn1c 2>&1 $SUDO make install } @@ -429,45 +365,36 @@ install_asn1c_from_source(){ # 2. compile ################################################ compile_hss() { - cd $OPENAIRCN_DIR/OPENAIRHSS - + cd $OPENAIR_DIR/cmake_targets/hss_build + rm -f $OPENAIR_TARGETS/bin/openair-hss openair-hss if [ "$CLEAN" = "1" ]; then - echo_info "build a clean HSS" - rm -rf obj* m4 .autom4* configure + echo "Cleaning HSS" + rm -rf BUILD fi - - echo_success "Invoking autogen" - ./autogen.sh || return 1 - mkdir -p objs ; cd objs - echo_success "Invoking configure" - ../configure || return 1 - if [ -f Makefile ]; then - echo_success "Compiling..." - make -j4 - # seems a bug in hss compilation: run make twice to work around - make -j4 - if [ $? -ne 0 ]; then - echo_error "Build failed, exiting" - return 1 - else - return 0 - fi + mkdir -p BUILD + cd ./BUILD + cmake $SOFTMODEM_DIRECTIVES .. + make -j $NUM_CPU openair-hss > $dlog/hss.txt 2>&1 + if [ -s openair-hss ] ; then + cp openair-hss $OPENAIR_TARGETS/bin + echo_success "hss compiled" else - echo_error "Configure failed, aborting" + echo_error "hss compilation failed" fi - return 1 + return $? } + install_nas_tools() { cd $1 if [ ! -f .ue.nvram ]; then echo_success "generate .ue_emm.nvram .ue.nvram" - ./ue_data --gen + ./nvram --gen fi if [ ! -f .usim.nvram ]; then echo_success "generate .usim.nvram" - ./usim_data --gen + ./usim --gen fi } diff --git a/cmake_targets/tools/exmimo2_2arxg.lime b/cmake_targets/tools/exmimo2_2arxg.lime new file mode 100644 index 0000000000..0c24ef9992 --- /dev/null +++ b/cmake_targets/tools/exmimo2_2arxg.lime @@ -0,0 +1,10 @@ +# this file contains the calibration values to compute the RSSI +# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning +# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB +# this is for Express MIMO2 without any additional RF frontend +# high gain +103 107 106 104 +# med gain +98 101 100 98 +# low gain (byp) +94 97 96 94 diff --git a/cmake_targets/tools/init_exmimo2.sh b/cmake_targets/tools/init_exmimo2.sh index 8a469d57e1..b7b52b4b36 100755 --- a/cmake_targets/tools/init_exmimo2.sh +++ b/cmake_targets/tools/init_exmimo2.sh @@ -24,7 +24,7 @@ load_module() { sudo insmod $1 } -load_module $OPENAIR_DIR/cmake_targets/bin/openair_rf.ko +load_module $OPENAIR_DIR/targets/bin/openair_rf.ko sleep 1 if [ ! -e /dev/openair0 ]; then @@ -36,7 +36,7 @@ DEVICE=`echo $PCI | awk -F\" '{print $(NF-1)}' | awk '{print $2}'` DEVICE_SWID=${DEVICE:2:2} if [ $DEVICE_SWID == '0a' ]; then echo "Using firware version 10" - $OPENAIR_DIR/cmake_targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 + $OPENAIR_DIR/targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 else echo 'No corresponding firmware found' return diff --git a/cmake_targets/tools/run_enb_s1_exmimo b/cmake_targets/tools/run_enb_s1_exmimo new file mode 100755 index 0000000000..19ad7eb3fc --- /dev/null +++ b/cmake_targets/tools/run_enb_s1_exmimo @@ -0,0 +1,191 @@ +#!/bin/bash +################################################################################ +# OpenAirInterface +# Copyright(c) 1999 - 2014 Eurecom +# +# OpenAirInterface is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) anylater version. +# +# +# OpenAirInterface is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenAirInterface.The full GNU General Public License is +# included in this distribution in the file called "COPYING". If not, +# see <http://www.gnu.org/licenses/>. +# +# Contact Information +# OpenAirInterface Admin: openair_admin@eurecom.fr +# OpenAirInterface Tech : openair_tech@eurecom.fr +# OpenAirInterface Dev : openair4g-devel@eurecom.fr +# +# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE +# +################################################################################ +# file run_enb_s1_exmimo +# brief run script for eNB EXMIMO. +# author Lionel GAUTHIER +# company Eurecom +# email: lionel.gauthier@eurecom.fr + + +################################ +# include helper functions +################################ +THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) +source $THIS_SCRIPT_PATH/build_helper + + +function help() +{ + echo_error " " + echo_error "Usage: run_enb_s1_exmimo [OPTION]..." + echo_error "Run the eNB executable, hardware target is EXMIMO." + echo_error " " + echo_error "Options:" + echo_error "Mandatory arguments to long options are mandatory for short options too." + echo_error " -c, -C, --config-file eNB config file (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)" + echo_error " -g, --gdb Run with GDB." + echo_error " -h, --help Print this help." + echo_error " -K, --itti-dump-file ITTI dump file containing all ITTI events occuring during EPC runtime." + echo_error " -H, --hss HSS hostname." + echo_error " -M, --target-dl-mcs Downlink target MCS." + echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format." + echo_error " -S, --enable-missed-slot Continue execution in case of missed slot." + echo_error " -T, --target-ul-mcs Uplink target MCS." + echo_error " -x, --xforms Run XFORMS scope windows." +} + + + +function main() +{ + local declare -i run_gdb=0 + local declare exe_arguments="" + + until [ -z "$1" ] + do + case "$1" in + -c | -C | --config-file) + CONFIG_FILE=$2 + # may be relative path + if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then + CONFIG_FILE=$(dirname $(readlink -f $0))/$CONFIG_FILE + echo "setting config file to: $CONFIG_FILE" + CONFIG_FILE_ACCESS_OK=1 + else + # may be absolute path + if [ -f $CONFIG_FILE ]; then + echo "setting config file to: $CONFIG_FILE" + else + echo_fatal "config file $CONFIG_FILE not found" + fi + fi + exe_arguments="$exe_arguments -O $CONFIG_FILE" + shift 2; + ;; + -g | --gdb) + run_gdb=1 + echo "setting GDB flag to: $GDB" + shift; + ;; + -h | --help) + help + shift; + exit 0 + ;; + -K | --itti-dump-file) + ITTI_DUMP_FILE=$2 + # can omit file name if last arg on the line + if [ "x$ITTI_DUMP_FILE" = "x" ]; then + ITTI_DUMP_FILE="/tmp/enb_s1_exmimo_itti.log" + fi + echo "setting ITTI dump file to: $ITTI_DUMP_FILE" + exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE" + shift 2; + ;; + -M | --target-dl-mcs) + echo "setting target dl MCS to $2" + exe_arguments="$exe_arguments -m $2" + shift 2; + ;; + -V | --vcd) + "setting gtk-wave output" + exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd" + shift ; + ;; + -S | --enable-missed-slot) + echo "setting continue even if missed slot" + exe_arguments="$exe_arguments -S" + shift ; + ;; + -T | --target-ul-mcs) + echo "setting target ul MCS to $2" + exe_arguments="$exe_arguments -t $2" + shift 2; + ;; + -x | --xforms) + exe_arguments="$exe_arguments -d" + echo "setting xforms to: $XFORMS" + shift; + ;; + *) + echo "Unknown option $1" + help + exit 0 + ;; + esac + done + + check_for_root_rights + + set_openair_env + cecho "OPENAIR_HOME = $OPENAIR_HOME" $green + cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green + cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green + cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green + cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green + cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green + + + if [ ! -e $OPENAIR_TARGETS/bin/lte-softmodem ]; then + echo_fatal "Cannot find $OPENAIR_TARGETS/bin/lte-softmodem executable" + fi + if [ ! -e $OPENAIR_TARGETS/bin/updatefw ]; then + echo_fatal "Cannot find $OPENAIR_TARGETS/bin/updatefw executable" + fi + if [ ! -e $OPENAIR_TARGETS/bin/openair_rf.ko ]; then + echo_fatal "Cannot find $OPENAIR_TARGETS/bin/openair_rf.ko kernel module" + fi + + for i in `seq 0 64`; do + have_rtfX=`ls /dev/ |grep -c rtf$i`; + if [ "$have_rtfX" -eq 0 ] ; then + $SUDO mknod -m 666 /dev/rtf$i c 150 $i; + fi; + done + + $THIS_SCRIPT_PATH/init_exmimo2.sh + + if [ $run_gdb -eq 0 ]; then + exec $OPENAIR_TARGETS/bin/lte-softmodem `echo $exe_arguments` 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt + else + touch ~/.gdb_lte_softmodem + chmod 777 ~/.gdb_lte_softmodem + echo "file $OPENAIR_TARGETS/bin/lte-softmodem" > ~/.gdb_lte_softmodem + echo "set args $exe_arguments" >> ~/.gdb_lte_softmodem + echo "run" >> ~/.gdb_lte_softmodem + cat ~/.gdb_lte_softmodem + gdb -n -x ~/.gdb_lte_softmodem 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt + fi +} + + + +main "$@" + diff --git a/cmake_targets/tools/run_epc b/cmake_targets/tools/run_epc new file mode 100755 index 0000000000..bba6b9060c --- /dev/null +++ b/cmake_targets/tools/run_epc @@ -0,0 +1,150 @@ +#!/bin/bash +################################################################################ +# OpenAirInterface +# Copyright(c) 1999 - 2014 Eurecom +# +# OpenAirInterface is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) anylater version. +# +# +# OpenAirInterface is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenAirInterface.The full GNU General Public License is +# included in this distribution in the file called "COPYING". If not, +# see <http://www.gnu.org/licenses/>. +# +# Contact Information +# OpenAirInterface Admin: openair_admin@eurecom.fr +# OpenAirInterface Tech : openair_tech@eurecom.fr +# OpenAirInterface Dev : openair4g-devel@eurecom.fr +# +# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE +# +################################################################################ +# file run_epc +# brief run script for EPC (MME+SGW-LITE). +# author Lionel GAUTHIER +# company Eurecom +# email: lionel.gauthier@eurecom.fr + + +################################ +# include helper functions +################################ +THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) +source $THIS_SCRIPT_PATH/build_helper + +set_openair_env + + +function help() +{ + echo_error " " + echo_error "Usage: run_epc [OPTION]..." + echo_error "Run the EPC executable (MME+SGW-LITE)." + echo_error " " + echo_error "Options:" + echo_error "Mandatory arguments to long options are mandatory for short options too." + echo_error " -g, --gdb Run with GDB." + echo_error " -h, --help Print this help." + echo_error " -K, --itti-dump-file ITTI dump file containing all ITTI events occuring during EPC runtime." + echo_error " -l, --local-enb EPC run on the same eNB host." + echo_error " -v, --verbosity-level Verbosity level (0,1,2)." + echo_error " 0 -> ASN1 XER printf off" + echo_error " 1 -> ASN1 XER printf on and ASN1 debug off" + echo_error " 2 -> ASN1 XER printf on and ASN1 debug on" +} + + + +function main() +{ + local -i run_gdb=0 + local exe_arguments=" " + local -i epc_local=0 + local -r epc_default_config_file="$OPENAIR_TARGETS/bin/epc.conf" + local epc_config_file=$epc_default_config_file + + until [ -z "$1" ] + do + case "$1" in + -g | --gdb) + run_gdb=1 + echo "setting GDB flag to: $GDB" + shift; + ;; + -h | --help) + help + exit 0 + ;; + -K | --itti-dump-file) + local itti_dump_file=$2 + # can omit file name if last arg on the line + if [ "x$itti_dump_file" = "x" ]; then + itti_dump_file="/tmp/epc_itti.log" + else + shift 1; + fi + echo "setting ITTI dump file to: $itti_dump_file" + exe_arguments="$exe_arguments -K $itti_dump_file" + shift 1; + ;; + -l | ----local-enb) + epc_local=1 + shift; + ;; + -v | --verbosity-level) + local verbosity_level=$2 + echo "setting verbosity level to: $verbosity_level" + exe_arguments="-v $verbosity_level $exe_arguments" + shift 2; + ;; + *) + echo "Unknown option $1" + help + exit 0 + ;; + esac + done + + check_for_root_rights + set_openair_env + cecho "OPENAIR_HOME = $OPENAIR_HOME" $green + cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green + cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green + cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green + cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green + cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green + + + if [ ! -e $OPENAIR_TARGETS/bin/mme_gw ]; then + echo_fatal "Cannot find $OPENAIR_TARGETS/bin/mme_gw executable, have a look at the output of build_epc executable" + fi + + if [ $epc_local -eq 1 ]; then + epc_config_file="$OPENAIR_TARGETS/bin/epc.local.enb.conf" + fi + + exe_arguments="-O $epc_config_file $exe_arguments" + + if [ $run_gdb -eq 0 ]; then + exec $OPENAIR_TARGETS/bin/mme_gw `echo $exe_arguments` 2>&1 + else + touch ~/.gdb_mme_gw + chmod 777 ~/.gdb_mme_gw + echo "file $OPENAIR_TARGETS/bin/mme_gw" > ~/.gdb_mme_gw + echo "set args $exe_arguments " >> ~/.gdb_mme_gw + echo "run" >> ~/.gdb_mme_gw + cat ~/.gdb_mme_gw + gdb -n -x ~/.gdb_mme_gw + fi +} + + +main "$@" diff --git a/cmake_targets/tools/run_hss b/cmake_targets/tools/run_hss new file mode 100755 index 0000000000..6faa6870cf --- /dev/null +++ b/cmake_targets/tools/run_hss @@ -0,0 +1,115 @@ +#!/bin/bash +################################################################################ +# OpenAirInterface +# Copyright(c) 1999 - 2014 Eurecom +# +# OpenAirInterface is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) anylater version. +# +# +# OpenAirInterface is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenAirInterface.The full GNU General Public License is +# included in this distribution in the file called "COPYING". If not, +# see <http://www.gnu.org/licenses/>. +# +# Contact Information +# OpenAirInterface Admin: openair_admin@eurecom.fr +# OpenAirInterface Tech : openair_tech@eurecom.fr +# OpenAirInterface Dev : openair4g-devel@eurecom.fr +# +# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE +# +################################################################################ +# file run_hss +# brief run script for HSS (!EXPERIMENTAL!). +# author Lionel GAUTHIER +# company Eurecom +# email: lionel.gauthier@eurecom.fr + + +################################ +# include helper functions +################################ +THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) +source $THIS_SCRIPT_PATH/build_helper + + +function help() +{ + echo_error " " + echo_error "Usage: run_hss [OPTION]..." + echo_error "Run the HSS executable (experimental)." + echo_error " " + echo_error "Options:" + echo_error "Mandatory arguments to long options are mandatory for short options too." + echo_error " -g, --gdb Run with GDB." + echo_error " -h, --help Print this help." +} + + + +function main() +{ + local -i run_gdb=0 + local exe_arguments=" -c ./hss.conf" + + until [ -z "$1" ] + do + case "$1" in + -g | --gdb) + run_gdb=1 + echo "setting GDB flag to: $GDB" + shift; + ;; + -h | --help) + help + exit 0 + ;; + *) + echo "Unknown option $1" + help + exit 0 + ;; + esac + done + + check_for_root_rights + + set_openair_env + cecho "OPENAIR_HOME = $OPENAIR_HOME" $green + cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green + cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green + cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green + cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green + cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green + + + if [ ! -e $OPENAIR_TARGETS/bin/openair-hss ]; then + echo_fatal "Cannot find $OPENAIR_TARGETS/bin/openair-hss executable" + fi + + # for file config relative path + cd $OPENAIR_TARGETS/bin + + if [ $run_gdb -eq 0 ]; then + exec $OPENAIR_TARGETS/bin/openair-hss `echo $exe_arguments` 2>&1 + else + touch ~/.gdb_hss + chmod 777 ~/.gdb_hss + echo "file $OPENAIR_TARGETS/bin/openair-hss" > ~/.gdb_hss + echo "set args $exe_arguments " >> ~/.gdb_hss + echo "run" >> ~/.gdb_hss + cat ~/.gdb_hss + gdb -n -x ~/.gdb_hss 2>&1 + fi +} + + +main "$@" -- GitLab