Merge branch 'master' into feature-21-TM7

Conflicts:
	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/SCHED/phy_procedures_lte_ue.c
	openair1/SIMULATION/LTE_PHY/dlsim.c
	openair1/SIMULATION/LTE_PHY/mbmssim.c
	targets/RT/USER/Makefile
This commit is contained in:
Xiwen JIANG
2015-10-05 11:27:50 +02:00
1895 changed files with 226357 additions and 505447 deletions
File diff suppressed because it is too large Load Diff
+424 -422
View File
@@ -15,7 +15,7 @@
# 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/>.
# see <http:/www.gnu.org/licenses/>.
#
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
@@ -51,7 +51,7 @@ set(OPENAIRCN_DIR ${OPENAIR_DIR}/openair-cn)
set(OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools)
set(OPENAIR_BIN_DIR ${OPENAIR_DIR}/targets/bin)
set(OPENAIR_NAS_DIR ${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS)
set(OPENAIR_NAS_DIR ${OPENAIR_DIR}/openair-cn/NAS)
set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
@@ -151,229 +151,229 @@ target_include_directories(secu_cn PRIVATE
# UTIL LIB
################################################################################
set(util_SRC
${OPENAIR_NAS_DIR}/src/util/device.c
${OPENAIR_NAS_DIR}/src/util/memory.c
${OPENAIR_NAS_DIR}/src/util/nas_log.c
${OPENAIR_NAS_DIR}/src/util/nas_timer.c
${OPENAIR_NAS_DIR}/src/util/OctetString.c
${OPENAIR_NAS_DIR}/src/util/parser.c
${OPENAIR_NAS_DIR}/src/util/TLVDecoder.c
${OPENAIR_NAS_DIR}/src/util/TLVEncoder.c
${OPENAIR_NAS_DIR}/src/util/socket.c
${OPENAIR_NAS_DIR}/src/util/stty.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/device.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/memory.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_log.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_timer.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/OctetString.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/parser.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVDecoder.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVEncoder.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/socket.c
${OPENAIR_NAS_DIR}/COMMON/UTIL/stty.c
)
set(util_HDR
${OPENAIR_NAS_DIR}/src/util/device.h
${OPENAIR_NAS_DIR}/src/util/memory.h
${OPENAIR_NAS_DIR}/src/util/nas_log.h
${OPENAIR_NAS_DIR}/src/util/nas_timer.h
${OPENAIR_NAS_DIR}/src/util/OctetString.h
${OPENAIR_NAS_DIR}/src/util/parser.h
${OPENAIR_NAS_DIR}/src/util/TLVDecoder.h
${OPENAIR_NAS_DIR}/src/util/TLVEncoder.h
${OPENAIR_NAS_DIR}/src/util/socket.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/device.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/memory.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_log.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_timer.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/OctetString.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/parser.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVDecoder.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVEncoder.h
${OPENAIR_NAS_DIR}/COMMON/UTIL/socket.h
)
add_library(util ${util_SRC} ${util_HDR})
target_include_directories(util PRIVATE ${OPENAIR_NAS_DIR}/src/util)
target_include_directories(util PRIVATE ${OPENAIR_NAS_DIR}/COMMON/UTIL
${OPENAIR_NAS_DIR}/COMMON
)
################################################################################
# api_user LIB
################################################################################
set(api_user_SRC
${OPENAIR_NAS_DIR}/src/api/user/at_command.c
${OPENAIR_NAS_DIR}/src/api/user/at_error.c
${OPENAIR_NAS_DIR}/src/api/user/at_response.c
${OPENAIR_NAS_DIR}/src/api/user/user_api.c
${OPENAIR_NAS_DIR}/src/api/user/user_indication.c
${OPENAIR_NAS_DIR}/UE/API/USER/at_command.c
${OPENAIR_NAS_DIR}/UE/API/USER/at_error.c
${OPENAIR_NAS_DIR}/UE/API/USER/at_response.c
${OPENAIR_NAS_DIR}/UE/API/USER/user_api.c
${OPENAIR_NAS_DIR}/UE/API/USER/user_indication.c
)
set(api_user_HDR
${OPENAIR_NAS_DIR}/src/api/user/at_command.h
${OPENAIR_NAS_DIR}/src/api/user/at_error.h
${OPENAIR_NAS_DIR}/src/api/user/at_response.h
${OPENAIR_NAS_DIR}/src/api/user/user_api.h
${OPENAIR_NAS_DIR}/src/api/user/user_indication.h
${OPENAIR_NAS_DIR}/UE/API/USER/at_command.h
${OPENAIR_NAS_DIR}/UE/API/USER/at_error.h
${OPENAIR_NAS_DIR}/UE/API/USER/at_response.h
${OPENAIR_NAS_DIR}/UE/API/USER/user_api.h
${OPENAIR_NAS_DIR}/UE/API/USER/user_indication.h
)
add_library(api_user ${api_user_SRC} ${api_user_HDR})
target_include_directories(api_user PRIVATE ${OPENAIR_NAS_DIR}/src/api/user)
target_include_directories(api_user PRIVATE ${OPENAIR_NAS_DIR}/UE/API/USER
${OPENAIR_NAS_DIR}/UE
${OPENAIR_NAS_DIR}/COMMON
)
################################################################################
# api_usim LIB
################################################################################
set(api_usim_SRC
${OPENAIR_NAS_DIR}/src/api/usim/aka_functions.c
${OPENAIR_NAS_DIR}/src/api/usim/usim_api.c
${OPENAIR_NAS_DIR}/UE/API/USIM/aka_functions.c
${OPENAIR_NAS_DIR}/UE/API/USIM/usim_api.c
)
set(api_usim_HDR
${OPENAIR_NAS_DIR}/src/api/usim/aka_functions.h
${OPENAIR_NAS_DIR}/src/api/usim/usim_api.h
${OPENAIR_NAS_DIR}/UE/API/USIM/aka_functions.h
${OPENAIR_NAS_DIR}/UE/API/USIM/usim_api.h
)
add_library(api_usim ${api_usim_SRC} ${api_usim_HDR})
target_include_directories(api_usim PRIVATE ${OPENAIR_NAS_DIR}/src/api/usim)
target_include_directories(api_usim PRIVATE ${OPENAIR_NAS_DIR}/UE/API/USIM)
################################################################################
# api_network LIB
################################################################################
set(api_network_SRC
${OPENAIR_NAS_DIR}/src/api/network/as_message.c
${OPENAIR_NAS_DIR}/src/api/network/nas_message.c
${OPENAIR_NAS_DIR}/src/api/network/network_api.c
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/as_message.c
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/nas_message.c
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/network_api.c
)
set(api_network_HDR
${OPENAIR_NAS_DIR}/src/api/network/as_message.h
${OPENAIR_NAS_DIR}/src/api/network/nas_message.h
${OPENAIR_NAS_DIR}/src/api/network/network_api.h
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/as_message.h
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/nas_message.h
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/network_api.h
)
add_library(api_network ${api_network_SRC} ${api_network_HDR})
target_include_directories(api_network PRIVATE ${OPENAIR_NAS_DIR}/src/api/network)
target_include_directories(api_network PRIVATE ${OPENAIR_NAS_DIR}/COMMON/API/NETWORK
${OPENAIR_NAS_DIR}/COMMON
)
################################################################################
# emm LIB
################################################################################
set(emm_SRC
${OPENAIR_NAS_DIR}/src/emm//Attach.c
${OPENAIR_NAS_DIR}/src/emm//Authentication.c
${OPENAIR_NAS_DIR}/src/emm//Detach.c
${OPENAIR_NAS_DIR}/src/emm//EmmCommon.c
${OPENAIR_NAS_DIR}/src/emm//emm_data_ctx.c
${OPENAIR_NAS_DIR}/src/emm//emm_main.c
${OPENAIR_NAS_DIR}/src/emm//EmmStatusHdl.c
${OPENAIR_NAS_DIR}/src/emm//Identification.c
${OPENAIR_NAS_DIR}/src/emm//IdleMode.c
${OPENAIR_NAS_DIR}/src/emm//LowerLayer.c
${OPENAIR_NAS_DIR}/src/emm//SecurityModeControl.c
${OPENAIR_NAS_DIR}/src/emm//ServiceRequestHdl.c
${OPENAIR_NAS_DIR}/src/emm//TrackingAreaUpdate.c
${OPENAIR_NAS_DIR}/UE/EMM/Attach.c
${OPENAIR_NAS_DIR}/UE/EMM/Authentication.c
${OPENAIR_NAS_DIR}/UE/EMM/Detach.c
${OPENAIR_NAS_DIR}/UE/EMM/emm_main.c
${OPENAIR_NAS_DIR}/UE/EMM/EmmStatusHdl.c
${OPENAIR_NAS_DIR}/UE/EMM/Identification.c
${OPENAIR_NAS_DIR}/UE/EMM/IdleMode.c
${OPENAIR_NAS_DIR}/UE/EMM/LowerLayer.c
${OPENAIR_NAS_DIR}/UE/EMM/SecurityModeControl.c
${OPENAIR_NAS_DIR}/UE/EMM/ServiceRequestHdl.c
${OPENAIR_NAS_DIR}/UE/EMM/TrackingAreaUpdate.c
${OPENAIR_NAS_DIR}/src/emm/msg/emm_msg.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachAccept.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachComplete.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachReject.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachAccept.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachComplete.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachReject.c
${OPENAIR_NAS_DIR}/src/emm/msg/AttachRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationFailure.c
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationReject.c
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationResponse.c
${OPENAIR_NAS_DIR}/src/emm/msg/CsServiceNotification.c
${OPENAIR_NAS_DIR}/src/emm/msg/DetachAccept.c
${OPENAIR_NAS_DIR}/src/emm/msg/DetachRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/DownlinkNasTransport.c
${OPENAIR_NAS_DIR}/src/emm/msg/EmmInformation.c
${OPENAIR_NAS_DIR}/src/emm/msg/emm_msg.c
${OPENAIR_NAS_DIR}/src/emm/msg/EmmStatus.c
${OPENAIR_NAS_DIR}/src/emm/msg/ExtendedServiceRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/GutiReallocationCommand.c
${OPENAIR_NAS_DIR}/src/emm/msg/GutiReallocationComplete.c
${OPENAIR_NAS_DIR}/src/emm/msg/IdentityRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/IdentityResponse.c
${OPENAIR_NAS_DIR}/src/emm/msg/SecurityModeCommand.c
${OPENAIR_NAS_DIR}/src/emm/msg/SecurityModeComplete.c
${OPENAIR_NAS_DIR}/src/emm/msg/SecurityModeReject.c
${OPENAIR_NAS_DIR}/src/emm/msg/ServiceReject.c
${OPENAIR_NAS_DIR}/src/emm/msg/ServiceRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateAccept.c
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateComplete.c
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateReject.c
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateRequest.c
${OPENAIR_NAS_DIR}/src/emm/msg/UplinkNasTransport.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msg.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachAccept.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachComplete.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachReject.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachAccept.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachComplete.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachReject.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationFailure.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationReject.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationResponse.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/CsServiceNotification.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachAccept.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DownlinkNasTransport.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmInformation.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msg.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmStatus.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ExtendedServiceRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationCommand.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationComplete.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityResponse.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeCommand.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeComplete.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeReject.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceReject.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateReject.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/UplinkNasTransport.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_as.c
# ${OPENAIR_NAS_DIR}/src/emm/sap//emm_cn.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmCommonProcedureInitiated.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredAttachNeeded.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredAttemptingToAttach.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregistered.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredInitiated.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredLimitedService.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredNoCellAvailable.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredNoImsi.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredNormalService.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmDeregisteredPlmnSearch.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_esm.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_fsm.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmNull.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_recv.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_reg.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredAttemptingToUpdate.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegistered.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredImsiDetachInitiated.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredInitiated.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredLimitedService.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredNoCellAvailable.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredNormalService.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredPlmnSearch.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmRegisteredUpdateNeeded.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_sap.c
${OPENAIR_NAS_DIR}/src/emm/sap//emm_send.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmServiceRequestInitiated.c
${OPENAIR_NAS_DIR}/src/emm/sap//EmmTrackingAreaUpdatingInitiated.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_as.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregistered.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredInitiated.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredLimitedService.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredNoImsi.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredNormalService.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_esm.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_fsm.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmNull.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_recv.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_reg.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegistered.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredInitiated.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredLimitedService.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredNormalService.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredPlmnSearch.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_sap.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_send.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmServiceRequestInitiated.c
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
)
set(emm_HDR
${OPENAIR_NAS_DIR}/src/emm//EmmCommon.h
${OPENAIR_NAS_DIR}/src/emm//emmData.h
${OPENAIR_NAS_DIR}/src/emm//emm_main.h
${OPENAIR_NAS_DIR}/src/emm//emm_proc.h
${OPENAIR_NAS_DIR}/src/emm//IdleMode.h
${OPENAIR_NAS_DIR}/src/emm//LowerLayer.h
${OPENAIR_NAS_DIR}/UE/EMM/emmData.h
${OPENAIR_NAS_DIR}/UE/EMM/emm_main.h
${OPENAIR_NAS_DIR}/UE/EMM/emm_proc.h
${OPENAIR_NAS_DIR}/UE/EMM/IdleMode.h
${OPENAIR_NAS_DIR}/UE/EMM/LowerLayer.h
${OPENAIR_NAS_DIR}/src/emm/msg/AttachAccept.h
${OPENAIR_NAS_DIR}/src/emm/msg/AttachComplete.h
${OPENAIR_NAS_DIR}/src/emm/msg/AttachReject.h
${OPENAIR_NAS_DIR}/src/emm/msg/AttachRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationFailure.h
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationReject.h
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/AuthenticationResponse.h
${OPENAIR_NAS_DIR}/src/emm/msg/CsServiceNotification.h
${OPENAIR_NAS_DIR}/src/emm/msg/DetachAccept.h
${OPENAIR_NAS_DIR}/src/emm/msg/DetachRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/DownlinkNasTransport.h
${OPENAIR_NAS_DIR}/src/emm/msg/emm_cause.h
${OPENAIR_NAS_DIR}/src/emm/msg/EmmInformation.h
${OPENAIR_NAS_DIR}/src/emm/msg/emm_msgDef.h
${OPENAIR_NAS_DIR}/src/emm/msg/emm_msg.h
${OPENAIR_NAS_DIR}/src/emm/msg/EmmStatus.h
${OPENAIR_NAS_DIR}/src/emm/msg/ExtendedServiceRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/GutiReallocationCommand.h
${OPENAIR_NAS_DIR}/src/emm/msg/GutiReallocationComplete.h
${OPENAIR_NAS_DIR}/src/emm/msg/IdentityRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/IdentityResponse.h
${OPENAIR_NAS_DIR}/src/emm/msg/NASSecurityModeCommand.h
${OPENAIR_NAS_DIR}/src/emm/msg/NASSecurityModeComplete.h
${OPENAIR_NAS_DIR}/src/emm/msg/SecurityModeReject.h
${OPENAIR_NAS_DIR}/src/emm/msg/ServiceReject.h
${OPENAIR_NAS_DIR}/src/emm/msg/ServiceRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateAccept.h
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateComplete.h
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateReject.h
${OPENAIR_NAS_DIR}/src/emm/msg/TrackingAreaUpdateRequest.h
${OPENAIR_NAS_DIR}/src/emm/msg/UplinkNasTransport.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachAccept.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachComplete.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachReject.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationFailure.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationReject.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationResponse.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/CsServiceNotification.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachAccept.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DownlinkNasTransport.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_cause.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmInformation.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msgDef.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msg.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmStatus.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ExtendedServiceRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationCommand.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationComplete.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityResponse.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/NASSecurityModeCommand.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/NASSecurityModeComplete.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeReject.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceReject.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateReject.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/UplinkNasTransport.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_asDef.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_as.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_cnDef.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_cn.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_esmDef.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_esm.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_fsm.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_recv.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_regDef.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_reg.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_sap.h
${OPENAIR_NAS_DIR}/src/emm/sap//emm_send.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_asDef.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_as.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_esmDef.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_esm.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_fsm.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_recv.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_regDef.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_reg.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_sap.h
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_send.h
)
@@ -381,12 +381,13 @@ add_library(emm ${emm_SRC} ${emm_HDR})
target_include_directories(emm PRIVATE
${OPENAIR_DIR}/common/utils/msc
${OPENAIR_NAS_DIR}/src/api/usim
${OPENAIR_NAS_DIR}/src/api/mme
${OPENAIR_NAS_DIR}/src/emm
${OPENAIR_NAS_DIR}/src/emm/msg
${OPENAIR_NAS_DIR}/src/emm/sap
${OPENAIR_NAS_DIR}/src/ies
${OPENAIR_DIR}/common/utils
${OPENAIR_DIR}/openair2/COMMON
${OPENAIR_NAS_DIR}/UE/API/USIM
${OPENAIR_NAS_DIR}/UE/EMM
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG
${OPENAIR_NAS_DIR}/UE/EMM/SAP
${OPENAIR_NAS_DIR}/COMMON/IES
)
@@ -394,258 +395,259 @@ target_include_directories(emm PRIVATE
# esm LIB
################################################################################
set(esm_SRC
${OPENAIR_NAS_DIR}/src/esm/esm_main.c
${OPENAIR_NAS_DIR}/src/esm/DedicatedEpsBearerContextActivation.c
${OPENAIR_NAS_DIR}/src/esm/DefaultEpsBearerContextActivation.c
${OPENAIR_NAS_DIR}/src/esm/EpsBearerContextDeactivation.c
${OPENAIR_NAS_DIR}/src/esm/esm_ebr.c
${OPENAIR_NAS_DIR}/src/esm/esm_ebr_context.c
${OPENAIR_NAS_DIR}/src/esm/esm_ip.c
${OPENAIR_NAS_DIR}/src/esm/esm_main.c
${OPENAIR_NAS_DIR}/src/esm/esm_pt.c
${OPENAIR_NAS_DIR}/src/esm/EsmStatusHdl.c
${OPENAIR_NAS_DIR}/src/esm/PdnConnectivity.c
${OPENAIR_NAS_DIR}/src/esm/PdnDisconnect.c
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.c
${OPENAIR_NAS_DIR}/UE/ESM/DedicatedEpsBearerContextActivation.c
${OPENAIR_NAS_DIR}/UE/ESM/DefaultEpsBearerContextActivation.c
${OPENAIR_NAS_DIR}/UE/ESM/EpsBearerContextDeactivation.c
${OPENAIR_NAS_DIR}/UE/ESM/esm_ebr.c
${OPENAIR_NAS_DIR}/UE/ESM/esm_ebr_context.c
${OPENAIR_NAS_DIR}/UE/ESM/esm_ip.c
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.c
${OPENAIR_NAS_DIR}/UE/ESM/esm_pt.c
${OPENAIR_NAS_DIR}/UE/ESM/EsmStatusHdl.c
${OPENAIR_NAS_DIR}/UE/ESM/PdnConnectivity.c
${OPENAIR_NAS_DIR}/UE/ESM/PdnDisconnect.c
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDedicatedEpsBearerContextReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDefaultEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDefaultEpsBearerContextReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceAllocationReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceAllocationRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceModificationReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceModificationRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/DeactivateEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/src/esm/msg/DeactivateEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/EsmInformationRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/EsmInformationResponse.c
${OPENAIR_NAS_DIR}/src/esm/msg/esm_msg.c
${OPENAIR_NAS_DIR}/src/esm/msg/EsmStatus.c
${OPENAIR_NAS_DIR}/src/esm/msg/ModifyEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/src/esm/msg/ModifyEpsBearerContextReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/ModifyEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/PdnConnectivityReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/PdnConnectivityRequest.c
${OPENAIR_NAS_DIR}/src/esm/msg/PdnDisconnectReject.c
${OPENAIR_NAS_DIR}/src/esm/msg/PdnDisconnectRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationResponse.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_msg.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmStatus.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityRequest.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectReject.c
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectRequest.c
${OPENAIR_NAS_DIR}/src/esm/sap/esm_recv.c
${OPENAIR_NAS_DIR}/src/esm/sap/esm_sap.c
${OPENAIR_NAS_DIR}/src/esm/sap/esm_send.c
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_recv.c
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_sap.c
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_send.c
)
set(esm_HDR
${OPENAIR_NAS_DIR}/src/esm/esm_main.h
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDedicatedEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDefaultEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDefaultEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/ActivateDefaultEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceAllocationReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceAllocationRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceModificationReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/BearerResourceModificationRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/DeactivateEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/src/esm/msg/DeactivateEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/esm_cause.h
${OPENAIR_NAS_DIR}/src/esm/msg/EsmInformationRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/EsmInformationResponse.h
${OPENAIR_NAS_DIR}/src/esm/msg/esm_msgDef.h
${OPENAIR_NAS_DIR}/src/esm/msg/esm_msg.h
${OPENAIR_NAS_DIR}/src/esm/msg/EsmStatus.h
${OPENAIR_NAS_DIR}/src/esm/msg/ModifyEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/src/esm/msg/ModifyEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/ModifyEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/PdnConnectivityReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/PdnConnectivityRequest.h
${OPENAIR_NAS_DIR}/src/esm/msg/PdnDisconnectReject.h
${OPENAIR_NAS_DIR}/src/esm/msg/PdnDisconnectRequest.h
${OPENAIR_NAS_DIR}/src/esm/sap/esm_recv.h
${OPENAIR_NAS_DIR}/src/esm/sap/esm_sap.h
${OPENAIR_NAS_DIR}/src/esm/sap/esm_send.h
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_cause.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationResponse.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_msgDef.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_msg.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmStatus.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityRequest.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectReject.h
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectRequest.h
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_recv.h
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_sap.h
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_send.h
)
add_library(esm ${esm_SRC} ${esm_HDR})
target_include_directories(esm PRIVATE
${OPENAIR_NAS_DIR}/src/api/user
${OPENAIR_NAS_DIR}/src/api/mme
${OPENAIR_NAS_DIR}/src/esm
${OPENAIR_NAS_DIR}/src/esm/msg
${OPENAIR_NAS_DIR}/src/esm/sap
${OPENAIR_NAS_DIR}/src/ies
${OPENAIR_NAS_DIR}/UE/API/USER
${OPENAIR_NAS_DIR}/UE/ESM
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG
${OPENAIR_NAS_DIR}/UE/ESM/SAP
${OPENAIR_NAS_DIR}/COMMON/IES
)
################################################################################
# ies LIB
################################################################################
set(ies_SRC
${OPENAIR_NAS_DIR}/src/ies/AccessPointName.c
${OPENAIR_NAS_DIR}/src/ies/AdditionalUpdateResult.c
${OPENAIR_NAS_DIR}/src/ies/AdditionalUpdateType.c
${OPENAIR_NAS_DIR}/src/ies/ApnAggregateMaximumBitRate.c
${OPENAIR_NAS_DIR}/src/ies/AuthenticationFailureParameter.c
${OPENAIR_NAS_DIR}/src/ies/AuthenticationParameterAutn.c
${OPENAIR_NAS_DIR}/src/ies/AuthenticationParameterRand.c
${OPENAIR_NAS_DIR}/src/ies/AuthenticationResponseParameter.c
${OPENAIR_NAS_DIR}/src/ies/CipheringKeySequenceNumber.c
${OPENAIR_NAS_DIR}/src/ies/Cli.c
${OPENAIR_NAS_DIR}/src/ies/CsfbResponse.c
${OPENAIR_NAS_DIR}/src/ies/DaylightSavingTime.c
${OPENAIR_NAS_DIR}/src/ies/DetachType.c
${OPENAIR_NAS_DIR}/src/ies/DrxParameter.c
${OPENAIR_NAS_DIR}/src/ies/EmergencyNumberList.c
${OPENAIR_NAS_DIR}/src/ies/EmmCause.c
${OPENAIR_NAS_DIR}/src/ies/EpsAttachResult.c
${OPENAIR_NAS_DIR}/src/ies/EpsAttachType.c
${OPENAIR_NAS_DIR}/src/ies/EpsBearerContextStatus.c
${OPENAIR_NAS_DIR}/src/ies/EpsBearerIdentity.c
${OPENAIR_NAS_DIR}/src/ies/EpsMobileIdentity.c
${OPENAIR_NAS_DIR}/src/ies/EpsNetworkFeatureSupport.c
${OPENAIR_NAS_DIR}/src/ies/EpsQualityOfService.c
${OPENAIR_NAS_DIR}/src/ies/EpsUpdateResult.c
${OPENAIR_NAS_DIR}/src/ies/EpsUpdateType.c
${OPENAIR_NAS_DIR}/src/ies/EsmCause.c
${OPENAIR_NAS_DIR}/src/ies/EsmInformationTransferFlag.c
${OPENAIR_NAS_DIR}/src/ies/EsmMessageContainer.c
${OPENAIR_NAS_DIR}/src/ies/GprsTimer.c
${OPENAIR_NAS_DIR}/src/ies/GutiType.c
${OPENAIR_NAS_DIR}/src/ies/IdentityType2.c
${OPENAIR_NAS_DIR}/src/ies/ImeisvRequest.c
${OPENAIR_NAS_DIR}/src/ies/KsiAndSequenceNumber.c
${OPENAIR_NAS_DIR}/src/ies/LcsClientIdentity.c
${OPENAIR_NAS_DIR}/src/ies/LcsIndicator.c
${OPENAIR_NAS_DIR}/src/ies/LinkedEpsBearerIdentity.c
${OPENAIR_NAS_DIR}/src/ies/LlcServiceAccessPointIdentifier.c
${OPENAIR_NAS_DIR}/src/ies/LocationAreaIdentification.c
${OPENAIR_NAS_DIR}/src/ies/MessageType.c
${OPENAIR_NAS_DIR}/src/ies/MobileIdentity.c
${OPENAIR_NAS_DIR}/src/ies/MobileStationClassmark2.c
${OPENAIR_NAS_DIR}/src/ies/MobileStationClassmark3.c
${OPENAIR_NAS_DIR}/src/ies/MsNetworkCapability.c
${OPENAIR_NAS_DIR}/src/ies/NasKeySetIdentifier.c
${OPENAIR_NAS_DIR}/src/ies/NasMessageContainer.c
${OPENAIR_NAS_DIR}/src/ies/NasRequestType.c
${OPENAIR_NAS_DIR}/src/ies/NasSecurityAlgorithms.c
${OPENAIR_NAS_DIR}/src/ies/NetworkName.c
${OPENAIR_NAS_DIR}/src/ies/Nonce.c
${OPENAIR_NAS_DIR}/src/ies/PacketFlowIdentifier.c
${OPENAIR_NAS_DIR}/src/ies/PagingIdentity.c
${OPENAIR_NAS_DIR}/src/ies/PdnAddress.c
${OPENAIR_NAS_DIR}/src/ies/PdnType.c
${OPENAIR_NAS_DIR}/src/ies/PlmnList.c
${OPENAIR_NAS_DIR}/src/ies/ProcedureTransactionIdentity.c
${OPENAIR_NAS_DIR}/src/ies/ProtocolConfigurationOptions.c
${OPENAIR_NAS_DIR}/src/ies/ProtocolDiscriminator.c
${OPENAIR_NAS_DIR}/src/ies/PTmsiSignature.c
${OPENAIR_NAS_DIR}/src/ies/QualityOfService.c
${OPENAIR_NAS_DIR}/src/ies/RadioPriority.c
${OPENAIR_NAS_DIR}/src/ies/SecurityHeaderType.c
${OPENAIR_NAS_DIR}/src/ies/ServiceType.c
${OPENAIR_NAS_DIR}/src/ies/ShortMac.c
${OPENAIR_NAS_DIR}/src/ies/SsCode.c
${OPENAIR_NAS_DIR}/src/ies/SupportedCodecList.c
${OPENAIR_NAS_DIR}/src/ies/TimeZoneAndTime.c
${OPENAIR_NAS_DIR}/src/ies/TimeZone.c
${OPENAIR_NAS_DIR}/src/ies/TmsiStatus.c
${OPENAIR_NAS_DIR}/src/ies/TrackingAreaIdentity.c
${OPENAIR_NAS_DIR}/src/ies/TrackingAreaIdentityList.c
${OPENAIR_NAS_DIR}/src/ies/TrafficFlowAggregateDescription.c
${OPENAIR_NAS_DIR}/src/ies/TrafficFlowTemplate.c
${OPENAIR_NAS_DIR}/src/ies/TransactionIdentifier.c
${OPENAIR_NAS_DIR}/src/ies/UeNetworkCapability.c
${OPENAIR_NAS_DIR}/src/ies/UeRadioCapabilityInformationUpdateNeeded.c
${OPENAIR_NAS_DIR}/src/ies/UeSecurityCapability.c
${OPENAIR_NAS_DIR}/src/ies/VoiceDomainPreferenceAndUeUsageSetting.c
${OPENAIR_NAS_DIR}/COMMON/IES/AccessPointName.c
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateResult.c
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateType.c
${OPENAIR_NAS_DIR}/COMMON/IES/ApnAggregateMaximumBitRate.c
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationFailureParameter.c
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterAutn.c
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterRand.c
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationResponseParameter.c
${OPENAIR_NAS_DIR}/COMMON/IES/CipheringKeySequenceNumber.c
${OPENAIR_NAS_DIR}/COMMON/IES/Cli.c
${OPENAIR_NAS_DIR}/COMMON/IES/CsfbResponse.c
${OPENAIR_NAS_DIR}/COMMON/IES/DaylightSavingTime.c
${OPENAIR_NAS_DIR}/COMMON/IES/DetachType.c
${OPENAIR_NAS_DIR}/COMMON/IES/DrxParameter.c
${OPENAIR_NAS_DIR}/COMMON/IES/EmergencyNumberList.c
${OPENAIR_NAS_DIR}/COMMON/IES/EmmCause.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachResult.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachType.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerContextStatus.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsMobileIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsNetworkFeatureSupport.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsQualityOfService.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateResult.c
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateType.c
${OPENAIR_NAS_DIR}/COMMON/IES/EsmCause.c
${OPENAIR_NAS_DIR}/COMMON/IES/EsmInformationTransferFlag.c
${OPENAIR_NAS_DIR}/COMMON/IES/EsmMessageContainer.c
${OPENAIR_NAS_DIR}/COMMON/IES/GprsTimer.c
${OPENAIR_NAS_DIR}/COMMON/IES/GutiType.c
${OPENAIR_NAS_DIR}/COMMON/IES/IdentityType2.c
${OPENAIR_NAS_DIR}/COMMON/IES/ImeisvRequest.c
${OPENAIR_NAS_DIR}/COMMON/IES/KsiAndSequenceNumber.c
${OPENAIR_NAS_DIR}/COMMON/IES/LcsClientIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/LcsIndicator.c
${OPENAIR_NAS_DIR}/COMMON/IES/LinkedEpsBearerIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/LlcServiceAccessPointIdentifier.c
${OPENAIR_NAS_DIR}/COMMON/IES/LocationAreaIdentification.c
${OPENAIR_NAS_DIR}/COMMON/IES/MessageType.c
${OPENAIR_NAS_DIR}/COMMON/IES/MobileIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark2.c
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark3.c
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkCapability.c
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkFeatureSupport.c
${OPENAIR_NAS_DIR}/COMMON/IES/NasKeySetIdentifier.c
${OPENAIR_NAS_DIR}/COMMON/IES/NasMessageContainer.c
${OPENAIR_NAS_DIR}/COMMON/IES/NasRequestType.c
${OPENAIR_NAS_DIR}/COMMON/IES/NasSecurityAlgorithms.c
${OPENAIR_NAS_DIR}/COMMON/IES/NetworkName.c
${OPENAIR_NAS_DIR}/COMMON/IES/Nonce.c
${OPENAIR_NAS_DIR}/COMMON/IES/PacketFlowIdentifier.c
${OPENAIR_NAS_DIR}/COMMON/IES/PagingIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/PdnAddress.c
${OPENAIR_NAS_DIR}/COMMON/IES/PdnType.c
${OPENAIR_NAS_DIR}/COMMON/IES/PlmnList.c
${OPENAIR_NAS_DIR}/COMMON/IES/ProcedureTransactionIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolConfigurationOptions.c
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolDiscriminator.c
${OPENAIR_NAS_DIR}/COMMON/IES/PTmsiSignature.c
${OPENAIR_NAS_DIR}/COMMON/IES/QualityOfService.c
${OPENAIR_NAS_DIR}/COMMON/IES/RadioPriority.c
${OPENAIR_NAS_DIR}/COMMON/IES/SecurityHeaderType.c
${OPENAIR_NAS_DIR}/COMMON/IES/ServiceType.c
${OPENAIR_NAS_DIR}/COMMON/IES/ShortMac.c
${OPENAIR_NAS_DIR}/COMMON/IES/SsCode.c
${OPENAIR_NAS_DIR}/COMMON/IES/SupportedCodecList.c
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZoneAndTime.c
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZone.c
${OPENAIR_NAS_DIR}/COMMON/IES/TmsiStatus.c
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentity.c
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentityList.c
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowAggregateDescription.c
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowTemplate.c
${OPENAIR_NAS_DIR}/COMMON/IES/TransactionIdentifier.c
${OPENAIR_NAS_DIR}/COMMON/IES/UeNetworkCapability.c
${OPENAIR_NAS_DIR}/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c
${OPENAIR_NAS_DIR}/COMMON/IES/UeSecurityCapability.c
${OPENAIR_NAS_DIR}/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c
)
set(ies_HDR
${OPENAIR_NAS_DIR}/src/ies/AccessPointName.h
${OPENAIR_NAS_DIR}/src/ies/AdditionalUpdateResult.h
${OPENAIR_NAS_DIR}/src/ies/AdditionalUpdateType.h
${OPENAIR_NAS_DIR}/src/ies/ApnAggregateMaximumBitRate.h
${OPENAIR_NAS_DIR}/src/ies/AuthenticationFailureParameter.h
${OPENAIR_NAS_DIR}/src/ies/AuthenticationParameterAutn.h
${OPENAIR_NAS_DIR}/src/ies/AuthenticationParameterRand.h
${OPENAIR_NAS_DIR}/src/ies/AuthenticationResponseParameter.h
${OPENAIR_NAS_DIR}/src/ies/CipheringKeySequenceNumber.h
${OPENAIR_NAS_DIR}/src/ies/Cli.h
${OPENAIR_NAS_DIR}/src/ies/CsfbResponse.h
${OPENAIR_NAS_DIR}/src/ies/DaylightSavingTime.h
${OPENAIR_NAS_DIR}/src/ies/DetachType.h
${OPENAIR_NAS_DIR}/src/ies/DrxParameter.h
${OPENAIR_NAS_DIR}/src/ies/EmergencyNumberList.h
${OPENAIR_NAS_DIR}/src/ies/EmmCause.h
${OPENAIR_NAS_DIR}/src/ies/EpsAttachResult.h
${OPENAIR_NAS_DIR}/src/ies/EpsAttachType.h
${OPENAIR_NAS_DIR}/src/ies/EpsBearerContextStatus.h
${OPENAIR_NAS_DIR}/src/ies/EpsBearerIdentity.h
${OPENAIR_NAS_DIR}/src/ies/EpsMobileIdentity.h
${OPENAIR_NAS_DIR}/src/ies/EpsNetworkFeatureSupport.h
${OPENAIR_NAS_DIR}/src/ies/EpsQualityOfService.h
${OPENAIR_NAS_DIR}/src/ies/EpsUpdateResult.h
${OPENAIR_NAS_DIR}/src/ies/EpsUpdateType.h
${OPENAIR_NAS_DIR}/src/ies/EsmCause.h
${OPENAIR_NAS_DIR}/src/ies/EsmInformationTransferFlag.h
${OPENAIR_NAS_DIR}/src/ies/EsmMessageContainer.h
${OPENAIR_NAS_DIR}/src/ies/GprsTimer.h
${OPENAIR_NAS_DIR}/src/ies/GutiType.h
${OPENAIR_NAS_DIR}/src/ies/IdentityType2.h
${OPENAIR_NAS_DIR}/src/ies/ImeisvRequest.h
${OPENAIR_NAS_DIR}/src/ies/KsiAndSequenceNumber.h
${OPENAIR_NAS_DIR}/src/ies/LcsClientIdentity.h
${OPENAIR_NAS_DIR}/src/ies/LcsIndicator.h
${OPENAIR_NAS_DIR}/src/ies/LinkedEpsBearerIdentity.h
${OPENAIR_NAS_DIR}/src/ies/LlcServiceAccessPointIdentifier.h
${OPENAIR_NAS_DIR}/src/ies/LocationAreaIdentification.h
${OPENAIR_NAS_DIR}/src/ies/MessageType.h
${OPENAIR_NAS_DIR}/src/ies/MobileIdentity.h
${OPENAIR_NAS_DIR}/src/ies/MobileStationClassmark2.h
${OPENAIR_NAS_DIR}/src/ies/MobileStationClassmark3.h
${OPENAIR_NAS_DIR}/src/ies/MsNetworkCapability.h
${OPENAIR_NAS_DIR}/src/ies/NasKeySetIdentifier.h
${OPENAIR_NAS_DIR}/src/ies/NasMessageContainer.h
${OPENAIR_NAS_DIR}/src/ies/NasRequestType.h
${OPENAIR_NAS_DIR}/src/ies/NasSecurityAlgorithms.h
${OPENAIR_NAS_DIR}/src/ies/NetworkName.h
${OPENAIR_NAS_DIR}/src/ies/Nonce.h
${OPENAIR_NAS_DIR}/src/ies/PacketFlowIdentifier.h
${OPENAIR_NAS_DIR}/src/ies/PagingIdentity.h
${OPENAIR_NAS_DIR}/src/ies/PdnAddress.h
${OPENAIR_NAS_DIR}/src/ies/PdnType.h
${OPENAIR_NAS_DIR}/src/ies/PlmnList.h
${OPENAIR_NAS_DIR}/src/ies/ProcedureTransactionIdentity.h
${OPENAIR_NAS_DIR}/src/ies/ProtocolConfigurationOptions.h
${OPENAIR_NAS_DIR}/src/ies/ProtocolDiscriminator.h
${OPENAIR_NAS_DIR}/src/ies/PTmsiSignature.h
${OPENAIR_NAS_DIR}/src/ies/QualityOfService.h
${OPENAIR_NAS_DIR}/src/ies/RadioPriority.h
${OPENAIR_NAS_DIR}/src/ies/SecurityHeaderType.h
${OPENAIR_NAS_DIR}/src/ies/ServiceType.h
${OPENAIR_NAS_DIR}/src/ies/ShortMac.h
${OPENAIR_NAS_DIR}/src/ies/SsCode.h
${OPENAIR_NAS_DIR}/src/ies/SupportedCodecList.h
${OPENAIR_NAS_DIR}/src/ies/TimeZoneAndTime.h
${OPENAIR_NAS_DIR}/src/ies/TimeZone.h
${OPENAIR_NAS_DIR}/src/ies/TmsiStatus.h
${OPENAIR_NAS_DIR}/src/ies/TrackingAreaIdentity.h
${OPENAIR_NAS_DIR}/src/ies/TrackingAreaIdentityList.h
${OPENAIR_NAS_DIR}/src/ies/TrafficFlowAggregateDescription.h
${OPENAIR_NAS_DIR}/src/ies/TrafficFlowTemplate.h
${OPENAIR_NAS_DIR}/src/ies/TransactionIdentifier.h
${OPENAIR_NAS_DIR}/src/ies/UeNetworkCapability.h
${OPENAIR_NAS_DIR}/src/ies/UeRadioCapabilityInformationUpdateNeeded.h
${OPENAIR_NAS_DIR}/src/ies/UeSecurityCapability.h
${OPENAIR_NAS_DIR}/src/ies/VoiceDomainPreferenceAndUeUsageSetting.h
${OPENAIR_NAS_DIR}/COMMON/IES/AccessPointName.h
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateResult.h
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateType.h
${OPENAIR_NAS_DIR}/COMMON/IES/ApnAggregateMaximumBitRate.h
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationFailureParameter.h
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterAutn.h
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterRand.h
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationResponseParameter.h
${OPENAIR_NAS_DIR}/COMMON/IES/CipheringKeySequenceNumber.h
${OPENAIR_NAS_DIR}/COMMON/IES/Cli.h
${OPENAIR_NAS_DIR}/COMMON/IES/CsfbResponse.h
${OPENAIR_NAS_DIR}/COMMON/IES/DaylightSavingTime.h
${OPENAIR_NAS_DIR}/COMMON/IES/DetachType.h
${OPENAIR_NAS_DIR}/COMMON/IES/DrxParameter.h
${OPENAIR_NAS_DIR}/COMMON/IES/EmergencyNumberList.h
${OPENAIR_NAS_DIR}/COMMON/IES/EmmCause.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachResult.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachType.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerContextStatus.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsMobileIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsNetworkFeatureSupport.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsQualityOfService.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateResult.h
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateType.h
${OPENAIR_NAS_DIR}/COMMON/IES/EsmCause.h
${OPENAIR_NAS_DIR}/COMMON/IES/EsmInformationTransferFlag.h
${OPENAIR_NAS_DIR}/COMMON/IES/EsmMessageContainer.h
${OPENAIR_NAS_DIR}/COMMON/IES/GprsTimer.h
${OPENAIR_NAS_DIR}/COMMON/IES/GutiType.h
${OPENAIR_NAS_DIR}/COMMON/IES/IdentityType2.h
${OPENAIR_NAS_DIR}/COMMON/IES/ImeisvRequest.h
${OPENAIR_NAS_DIR}/COMMON/IES/KsiAndSequenceNumber.h
${OPENAIR_NAS_DIR}/COMMON/IES/LcsClientIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/LcsIndicator.h
${OPENAIR_NAS_DIR}/COMMON/IES/LinkedEpsBearerIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/LlcServiceAccessPointIdentifier.h
${OPENAIR_NAS_DIR}/COMMON/IES/LocationAreaIdentification.h
${OPENAIR_NAS_DIR}/COMMON/IES/MessageType.h
${OPENAIR_NAS_DIR}/COMMON/IES/MobileIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark2.h
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark3.h
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkCapability.h
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkFeatureSupport.h
${OPENAIR_NAS_DIR}/COMMON/IES/NasKeySetIdentifier.h
${OPENAIR_NAS_DIR}/COMMON/IES/NasMessageContainer.h
${OPENAIR_NAS_DIR}/COMMON/IES/NasRequestType.h
${OPENAIR_NAS_DIR}/COMMON/IES/NasSecurityAlgorithms.h
${OPENAIR_NAS_DIR}/COMMON/IES/NetworkName.h
${OPENAIR_NAS_DIR}/COMMON/IES/Nonce.h
${OPENAIR_NAS_DIR}/COMMON/IES/PacketFlowIdentifier.h
${OPENAIR_NAS_DIR}/COMMON/IES/PagingIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/PdnAddress.h
${OPENAIR_NAS_DIR}/COMMON/IES/PdnType.h
${OPENAIR_NAS_DIR}/COMMON/IES/PlmnList.h
${OPENAIR_NAS_DIR}/COMMON/IES/ProcedureTransactionIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolConfigurationOptions.h
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolDiscriminator.h
${OPENAIR_NAS_DIR}/COMMON/IES/PTmsiSignature.h
${OPENAIR_NAS_DIR}/COMMON/IES/QualityOfService.h
${OPENAIR_NAS_DIR}/COMMON/IES/RadioPriority.h
${OPENAIR_NAS_DIR}/COMMON/IES/SecurityHeaderType.h
${OPENAIR_NAS_DIR}/COMMON/IES/ServiceType.h
${OPENAIR_NAS_DIR}/COMMON/IES/ShortMac.h
${OPENAIR_NAS_DIR}/COMMON/IES/SsCode.h
${OPENAIR_NAS_DIR}/COMMON/IES/SupportedCodecList.h
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZoneAndTime.h
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZone.h
${OPENAIR_NAS_DIR}/COMMON/IES/TmsiStatus.h
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentity.h
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentityList.h
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowAggregateDescription.h
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowTemplate.h
${OPENAIR_NAS_DIR}/COMMON/IES/TransactionIdentifier.h
${OPENAIR_NAS_DIR}/COMMON/IES/UeNetworkCapability.h
${OPENAIR_NAS_DIR}/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h
${OPENAIR_NAS_DIR}/COMMON/IES/UeSecurityCapability.h
${OPENAIR_NAS_DIR}/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h
)
add_library(ies ${ies_SRC} ${ies_HDR})
target_include_directories(ies PRIVATE
${OPENAIR_NAS_DIR}/src/ies
${OPENAIR_NAS_DIR}/COMMON/IES
)
@@ -658,23 +660,23 @@ include_directories(
${OPENAIRCN_DIR}/COMMON
${OPENAIRCN_DIR}/SECU
${OPENAIR_NAS_DIR}/src
${OPENAIR_NAS_DIR}/src/api/network
${OPENAIR_NAS_DIR}/src/api/user
${OPENAIR_NAS_DIR}/src/emm
${OPENAIR_NAS_DIR}/src/emm/msg
${OPENAIR_NAS_DIR}/src/emm/sap
${OPENAIR_NAS_DIR}/src/esm
${OPENAIR_NAS_DIR}/src/esm/sap
${OPENAIR_NAS_DIR}/src/esm/msg
${OPENAIR_NAS_DIR}/src/ies
${OPENAIR_NAS_DIR}/src/include
${OPENAIR_NAS_DIR}/src/util )
${OPENAIR_NAS_DIR}/COMMON
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK
${OPENAIR_NAS_DIR}/UE/API/USER
${OPENAIR_NAS_DIR}/UE/EMM
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG
${OPENAIR_NAS_DIR}/UE/EMM/SAP
${OPENAIR_NAS_DIR}/UE/ESM
${OPENAIR_NAS_DIR}/UE/ESM/SAP
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG
${OPENAIR_NAS_DIR}/COMMON/IES
${OPENAIR_NAS_DIR}/COMMON/UTIL )
ADD_EXECUTABLE(at_nas_ue ${OPENAIR_NAS_DIR}/src/UEprocess.c
${OPENAIR_NAS_DIR}/src/nas_network.c
${OPENAIR_NAS_DIR}/src/nas_parser.c
${OPENAIR_NAS_DIR}/src/nas_proc.c
${OPENAIR_NAS_DIR}/src/nas_user.c
ADD_EXECUTABLE(at_nas_ue ${OPENAIR_NAS_DIR}/UE/UEprocess.c
${OPENAIR_NAS_DIR}/UE/nas_network.c
${OPENAIR_NAS_DIR}/UE/nas_parser.c
${OPENAIR_NAS_DIR}/UE/nas_proc.c
${OPENAIR_NAS_DIR}/UE/nas_user.c
)
target_link_libraries (at_nas_ue
@@ -0,0 +1,82 @@
cmake_minimum_required(VERSION 2.8)
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
set ( ADDR_CONF False )
set ( DEBUG_OMG False )
set ( DISABLE_XER_PRINT False )
set ( DRIVER2013 True )
set ( EMOS False )
set ( ENABLE_FXP True )
set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING False )
set ( ENABLE_NEW_MULTICAST True )
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_MME False )
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
set ( ENABLE_VCD_FIFO False )
set ( ENB_MODE True )
set ( EXMIMO_IOT True )
set ( HARD_RT False )
set ( JUMBO_FRAME True )
set ( LARGE_SCALE False )
set ( LINK_ENB_PDCP_TO_GTPV1U False)
set ( LINUX_LIST False )
set ( LINUX True )
set ( LOCALIZATION False )
set ( LOG_NO_THREAD 1 )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX True )
set ( NAS_BUILT_IN_UE False)
set ( NAS_MME 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 ( OAISIM True )
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
set ( OAI_NW_DRIVER_USE_NETLINK True )
set ( OPENAIR1 True )
set ( OPENAIR2 True )
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 True )
set ( PHY_CONTEXT False )
set ( PHY_EMUL False )
set ( PHYSIM True )
set ( PUCCH True )
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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME "R10" )
set ( USER_MODE True )
set ( XER_PRINT False )
@@ -0,0 +1,87 @@
cmake_minimum_required(VERSION 2.8)
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
set ( ADDR_CONF False )
set ( DEBUG_OMG False )
set ( DISABLE_XER_PRINT False )
set ( DRIVER2013 True )
set ( EMOS False )
set ( ENABLE_FXP True )
set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING False )
set ( ENABLE_NEW_MULTICAST True )
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_MME False )
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
set ( ENABLE_VCD_FIFO False )
set ( ENB_MODE True )
set ( EXMIMO_IOT True )
set ( HARD_RT False )
set ( JUMBO_FRAME True )
set ( LARGE_SCALE False )
set ( LINK_ENB_PDCP_TO_GTPV1U False)
set ( LINUX_LIST False )
set ( LINUX True )
set ( LOCALIZATION False )
set ( LOG_NO_THREAD 1 )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX True )
set ( NAS_BUILT_IN_UE False)
set ( NAS_MME 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 ( OAISIM True )
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
set ( OAI_NW_DRIVER_USE_NETLINK True )
set ( OPENAIR1 True )
set ( OPENAIR2 True )
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 True )
set ( PHY_CONTEXT False )
set ( PHY_EMUL False )
set ( PHYSIM True )
set ( PUCCH True )
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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME "R10" )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set ( PRINT_STATS False )
set ( RRC_ASN1_VERSION "Rel10")
set ( ENABLE_VCD_FIFO False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -0,0 +1,82 @@
cmake_minimum_required(VERSION 2.8)
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
set ( ADDR_CONF False )
set ( DEBUG_OMG False )
set ( DISABLE_XER_PRINT False )
set ( DRIVER2013 True )
set ( EMOS False )
set ( ENABLE_FXP True )
set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING False )
set ( ENABLE_NEW_MULTICAST True )
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_MME False )
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
set ( ENABLE_VCD_FIFO False )
set ( ENB_MODE True )
set ( EXMIMO_IOT True )
set ( HARD_RT False )
set ( JUMBO_FRAME True )
set ( LARGE_SCALE False )
set ( LINK_ENB_PDCP_TO_GTPV1U False)
set ( LINUX_LIST False )
set ( LINUX True )
set ( LOCALIZATION False )
set ( LOG_NO_THREAD 1 )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX True )
set ( NAS_BUILT_IN_UE False)
set ( NAS_MME 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 ( OAISIM True )
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
set ( OAI_NW_DRIVER_USE_NETLINK True )
set ( OPENAIR1 True )
set ( OPENAIR2 True )
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 True )
set ( PHY_CONTEXT False )
set ( PHY_EMUL False )
set ( PHYSIM True )
set ( PUCCH True )
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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME "R10" )
set ( USER_MODE True )
set ( XER_PRINT False )
@@ -0,0 +1,87 @@
cmake_minimum_required(VERSION 2.8)
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
set ( ADDR_CONF False )
set ( DEBUG_OMG False )
set ( DISABLE_XER_PRINT False )
set ( DRIVER2013 True )
set ( EMOS False )
set ( ENABLE_FXP True )
set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING False )
set ( ENABLE_NEW_MULTICAST True )
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_MME False )
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
set ( ENABLE_VCD_FIFO False )
set ( ENB_MODE True )
set ( EXMIMO_IOT True )
set ( HARD_RT False )
set ( JUMBO_FRAME True )
set ( LARGE_SCALE False )
set ( LINK_ENB_PDCP_TO_GTPV1U False)
set ( LINUX_LIST False )
set ( LINUX True )
set ( LOCALIZATION False )
set ( LOG_NO_THREAD 1 )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX True )
set ( NAS_BUILT_IN_UE False)
set ( NAS_MME 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 ( OAISIM True )
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
set ( OAI_NW_DRIVER_USE_NETLINK True )
set ( OPENAIR1 True )
set ( OPENAIR2 True )
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 True )
set ( PHY_CONTEXT False )
set ( PHY_EMUL False )
set ( PHYSIM True )
set ( PUCCH True )
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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME "R10" )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set ( PRINT_STATS False )
set ( RRC_ASN1_VERSION "Rel10")
set ( ENABLE_VCD_FIFO False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -7,81 +7,109 @@ else
exit 1
fi
tdir=$OPENAIR_DIR/cmake_targets/autotests
results_file=$tdir/log/compilation_autotests.xml
# include the jUnit-like logging functions
source $OPENAIR_DIR/cmake_targets/tools/test_helper
test_compile() {
xUnit_start
test_name=$1
compile_prog=$2
exec_prog=$3
build_dir=$tdir/$1/build
log_file=$tdir/log/$1.txt
target=$5
echo "Compiling test case $test_name. Log file = $log_file"
rm -fr $build_dir
mkdir -p $tdir/$1/build
cd $tdir/$1/build
cd $build_dir
{
cmake ..
rm -f $3
make -j4 $2
} > $tdir/log/$1.txt 2>&1
if [ -s $3 ] ; then
cp $3 $tdir/bin/`basename $3`.$1
echo_success "$1 test compiled"
xUnit_success "compilation" $1
rm -f $exec_prog
make -j`nproc` $compile_prog
} > $log_file 2>&1
if [ -s $exec_prog ] ; then
cp $exec_prog $tdir/bin/`basename $exec_prog`.$target.$test_name
echo_success "$test_name $exec_prog $target compiled"
xUnit_success "compilation" $test_name "PASS" 1
else
echo_error "$1 test compilation failed"
xUnit_fail "compilation" $1
echo_error "$test_name $exec_prog $target compilation failed"
xUnit_fail "compilation" $test_name "FAIL" 1
fi
}
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"
echo_warning "some files are not in svn:\n $updated"
fi
cd $tdir
test_compile \
test.0101 oaisim \
oaisim $tdir/bin/oaisim.r8
test.0101 oaisim_nos1 \
oaisim_nos1 $tdir/bin/oaisim.r8 rel8.nos1
test_compile \
test.0102 oaisim \
oaisim $tdir/bin/oaisim.r8.nas
test.0102 oaisim_nos1 \
oaisim_nos1 $tdir/bin/oaisim.r8.nas rel8.nos1.nas
cp $tdir/test.0103/CMakeLists.txt.Rel8 $tdir/test.0103/CMakeLists.txt
test_compile \
test.0103 lte-softmodem \
lte-softmodem $tdir/bin/lte-softmodem.r8.rf
lte-softmodem $tdir/bin/lte-softmodem.r8.rf Rel8.EXMIMO
cp $tdir/test.0103/CMakeLists.txt.Rel10 $tdir/test.0103/CMakeLists.txt
test_compile \
test.0103 lte-softmodem \
lte-softmodem $tdir/bin/lte-softmodem.r10.rf Rel10.EXMIMO
cp $tdir/test.0103/CMakeLists.txt.USRP $tdir/test.0103/CMakeLists.txt
test_compile \
test.0103 lte-softmodem \
lte-softmodem $tdir/bin/lte-softmodem.r10.rf Rel10.USRP
test_compile \
test.0104 dlsim \
dlsim $tdir/bin/dlsim
dlsim $tdir/bin/dlsim dlsim.Rel8
test_compile \
test.0104 ulsim \
ulsim $tdir/bin/ulsim
ulsim $tdir/bin/ulsim ulsim.Rel8
test_compile \
test.0106 oaisim \
oaisim $tdir/bin/oaisim.r8.itti
oaisim $tdir/bin/oaisim.r8.itti Rel8.itti
test_compile \
test.0107 oaisim \
oaisim $tdir/bin/oaisim.r10
test.0107 oaisim_nos1 \
oaisim_nos1 $tdir/bin/oaisim.r10 Rel10.nos1
test_compile \
test.0108 oaisim \
oaisim $tdir/bin/oaisim.r10.itti
oaisim $tdir/bin/oaisim.r10.itti rel10.itti
test_compile \
test.0114 oaisim \
oaisim $tdir/bin/oaisim.r8.itti.ral
#test_compile \ LG: RAL REMOVED
# test.0114 oaisim \
# oaisim $tdir/bin/oaisim.r8.itti.ral rel8.itti.ral
test_compile \
test.0115 oaisim \
oaisim $tdir/bin/oaisim.r10.itti.ral
#test_compile \ LG: RAL REMOVED
# test.0115 oaisim \
# oaisim $tdir/bin/oaisim.r10.itti.ral rel10.itti.ral
test_compile \
test.0120 nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko
CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko
test_compile \
test.0130 rrh_gw \
rrh_gw $tdir/bin/rrh_gw
# write the test results into a file
xUnit_write "$tdir/log/compilation_autotests.xml"
xUnit_write "$results_file"
echo "Test Results are written to $results_file"
+119 -4
View File
@@ -1,12 +1,102 @@
#!/bin/bash
if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then
source $OPENAIR_DIR/cmake_targets/tools/build_helper
if [ -s $OPENAIR_DIR/cmake_targets/tools/test_helper ] ; then
source $OPENAIR_DIR/cmake_targets/tools/test_helper
else
echo "Error: no file in the file tree: is OPENAIR_DIR variable set?"
exit 1
fi
SUDO="sudo -E "
tdir=$OPENAIR_DIR/cmake_targets/autotests
mkdir -p $tdir/bin $tdir/log
results_file="$tdir/log/execution_autotests.xml"
updated=$(svn st -q $OPENAIR_DIR)
if [ "$updated" != "" ] ; then
echo "some files are not in svn:\n $updated"
fi
cd $tdir
#\param $1 -> name of test case
#\param $2 -> name of compilation program
#\param $3 -> arguments for compilation program
#\param $4 -> name of pre-executable to install kernel modules, etc
#\param $5 -> arguments of pre-executable
#\param $6 -> name of executable
#\param $7 -> arguments for running the program
#\param $8 -> search expression
#\param $9 -> number of runs
test_compile_and_run() {
xUnit_start
test_case_name=$1
log_dir=$tdir/log
log_file=$tdir/log/test.$1.txt
compile_prog=$2
compile_args=$3
pre_exec_file=$4
pre_exec_args=$5
exec_args=$7
search_expr=$8
nruns=$9
build_dir=$tdir/$1/build
exec_file=$build_dir/$6
#Temporary log file where execution log is stored.
temp_exec_log=$log_dir/temp_log.txt
echo "Compiling test case $test_case_name. Log file = $log_file"
rm -fr $build_dir
mkdir -p $build_dir
# echo "log_dir = $log_dir"
# echo "log_file = $log_file"
# echo "exec_file = $exec_file"
# echo "args = $args"
# echo "search_expr = $search_expr"
# echo "pre_exec_file = $pre_exec_file"
echo "<COMPILATION LOG>" > $log_file
cd $build_dir
{
cmake ..
#rm -fv $exec_file
make -j`nproc` $compile_prog
}>> $log_file 2>&1
echo "</COMPILATION LOG>" >> $log_file 2>&1
for (( run_index=1; run_index <= $nruns; run_index++ ))
do
echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file"
echo "-----------------------------------------------------------------------------" >> $log_file 2>&1
echo "<EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
source $pre_exec_file $pre_exec_args >> $log_file 2>&1
$exec_file $exec_args > $temp_exec_log 2>&1
cat $temp_exec_log >> $log_file 2>&1
echo "</EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
search_result=`grep "$search_expr" $temp_exec_log`
if [ -z "$search_result" ]; then
xUnit_fail "execution" "$test_case_name" "FAIL" "$run_index"
else
xUnit_success "execution" "$test_case_name" "PASS" "$run_index"
fi
# End of for loop
done
}
dbin=$OPENAIR_DIR/cmake_targets/autotests/bin
dlog=$OPENAIR_DIR/cmake_targets/autotests/log
@@ -14,6 +104,9 @@ run_test() {
case=case$1; shift
cmd=$1; shift
expected=$3; shift
echo "expected = $expected"
exit
$cmd > $dlog/$case.txt 2>&1
if [ $expected = "true" ] ; then
if $* $dlog/$case.txt; then
@@ -30,7 +123,29 @@ else
fi
}
run_test 0200 "$dbin/oaisim.r8 -a -A AWGN -n 100" false grep -q '(Segmentation.fault)|(Exiting)|(FATAL)'
#$1 -> name of test case
#$2 -> name of compilation program
#$3 -> arguments for compilation program
#$4 -> name of pre-executable to install kernel modules, etc
#$5 -> arguments of pre-executable
#$6 -> name of executable
#$7 -> arguments for running the program
#$8 -> search expression
#$9 -> number of runs
run_test 0201 "$dbin/oaisim.r8 -a -A AWGN -n 100" false fgrep -q '[E]'
test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -n1000" "RRC_CONN" 3
test_compile_and_run 0201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a -n1000" "RRC_CONN" 3
#test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O /home/calisson/rohit/oai_snav/taets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a " "RRC_CONN" 3
#run_test 0200 "$dbin/oaisim.r8 -a -A AWGN -n 100" false grep -q '(Segmentation.fault)|(Exiting)|(FATAL)'
#run_test 0201 "$dbin/oaisim.r8 -a -A AWGN -n 100" false fgrep -q '[E]'
# write the test results into a file
xUnit_write "$results_file"
echo "Test Results are written to $results_file"
@@ -10,26 +10,20 @@ 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 ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
set ( ENABLE_VCD_FIFO False )
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 )
@@ -37,7 +31,10 @@ set ( LOG_NO_THREAD True )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MIH_C_MEDIEVAL_EXTENSIONS True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
@@ -55,7 +52,7 @@ 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 ( OPENAIR1 True )
set ( OPENAIR2 True )
set ( OPENAIR_EMU False )
set ( OPENAIR_LTE True )
@@ -72,7 +69,7 @@ set ( PHY_EMUL False )
set ( PHYSIM False )
set ( PUCCH True )
set ( RANDOM_BF False )
set ( RF_BOARD False )
set ( RF_BOARD "False" )
set ( RLC_STOP_ON_LOST_PDU False )
set ( RRC_ASN1_VERSION Rel8 )
set ( RRC_DEFAULT_RAB_IS_AM False )
@@ -102,8 +99,8 @@ set ( TRACE_RLC_UM_RX False )
set ( TRACE_RLC_UM_SEGMENT False )
set ( TRACE_RLC_UM_TX_STATUS False )
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME False )
set ( USE_MME "R8" )
set ( USER_MODE True )
set ( XER_PRINT True )
set ( XFORMS False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -10,17 +10,12 @@ 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 )
@@ -29,7 +24,6 @@ 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 )
@@ -37,7 +31,10 @@ set ( LOG_NO_THREAD True )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MIH_C_MEDIEVAL_EXTENSIONS True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
@@ -10,17 +10,12 @@ 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 )
@@ -29,7 +24,6 @@ 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 )
@@ -37,7 +31,10 @@ set ( LOG_NO_THREAD True )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MIH_C_MEDIEVAL_EXTENSIONS True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
@@ -72,9 +69,9 @@ set ( PHY_EMUL False )
set ( PHYSIM True )
set ( PUCCH True )
set ( RANDOM_BF False )
set ( RF_BOARD EXMIMO )
set ( RF_BOARD OAI_USRP )
set ( RLC_STOP_ON_LOST_PDU False )
set ( RRC_ASN1_VERSION Rel8 )
set ( RRC_ASN1_VERSION Rel10 )
set ( RRC_DEFAULT_RAB_IS_AM False )
set ( RRC_MSG_PRINT False )
set ( RTAI False )
@@ -106,5 +103,5 @@ set ( USE_MME False )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set(PACKAGE_NAME "lte-softmodem")
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -0,0 +1,107 @@
cmake_minimum_required(VERSION 2.8)
set ( ADDR_CONF False )
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_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_MME 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 ( 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 ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
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 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 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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME False )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set(PACKAGE_NAME "lte-softmodem")
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -0,0 +1,107 @@
cmake_minimum_required(VERSION 2.8)
set ( ADDR_CONF False )
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_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_MME 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 ( 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 ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME False )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set(PACKAGE_NAME "lte-softmodem")
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -0,0 +1,107 @@
cmake_minimum_required(VERSION 2.8)
set ( ADDR_CONF False )
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_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_MME 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 ( 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 ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
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 OAI_USRP )
set ( RLC_STOP_ON_LOST_PDU False )
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 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 ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME False )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set(PACKAGE_NAME "lte-softmodem")
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -10,4 +10,8 @@ set(RANDOM_BF False)
set(PBS_SIM False)
set(PERFECT_CE True)
set(MESSAGE_CHART_GENERATOR False)
set(MESSAGE_CHART_GENERATOR_RLC_MAC False)
set(MESSAGE_CHART_GENERATOR_PHY False)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
@@ -8,7 +8,6 @@ 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 False)
set(ENABLE_SECURITY False)
@@ -18,7 +17,7 @@ set(ENABLE_VCD_FIFO True)
set(HARD_RT False)
set(JUMBO_FRAME True)
set(LARGE_SCALE False)
set(LINK_PDCP_TO_GTPV1U False)
set(LINK_ENB_PDCP_TO_GTPV1U False)
set(LINUX_LIST False)
set(LINUX True)
set(LOCALIZATION False)
@@ -26,7 +25,10 @@ set(LOG_NO_THREAD True)
set(LOWLATENCY False)
set(MAC_CONTEXT 1)
set(MAX_NUM_CCs 1)
set(MIH_C_MEDIEVAL_EXTENSIONS True)
set(MESSAGE_CHART_GENERATOR False )
set(MESSAGE_CHART_GENERATOR_RLC_MAC False )
set(MESSAGE_CHART_GENERATOR_PHY False )
set(MIH_C_MEDIEVAL_EXTENSIONS False)
set(MSG_PRINT False)
set(MU_RECEIVER False)
set(NAS_ADDRESS_FIX true)
@@ -10,17 +10,12 @@ 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 )
@@ -29,7 +24,6 @@ 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 )
@@ -37,7 +31,10 @@ set ( LOG_NO_THREAD True )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MIH_C_MEDIEVAL_EXTENSIONS True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
@@ -8,7 +8,6 @@ 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 False)
set(ENABLE_SECURITY False)
@@ -18,7 +17,7 @@ set(ENABLE_VCD_FIFO True)
set(HARD_RT False)
set(JUMBO_FRAME True)
set(LARGE_SCALE False)
set(LINK_PDCP_TO_GTPV1U False)
set(LINK_ENB_PDCP_TO_GTPV1U False)
set(LINUX_LIST False)
set(LINUX True)
set(LOCALIZATION False)
@@ -26,7 +25,10 @@ set(LOG_NO_THREAD True)
set(LOWLATENCY False)
set(MAC_CONTEXT 1)
set(MAX_NUM_CCs 1)
set(MIH_C_MEDIEVAL_EXTENSIONS True)
set(MESSAGE_CHART_GENERATOR False)
set(MESSAGE_CHART_GENERATOR_RLC_MAC False)
set(MESSAGE_CHART_GENERATOR_PHY False)
set(MIH_C_MEDIEVAL_EXTENSIONS False)
set(MSG_PRINT False)
set(MU_RECEIVER False)
set(NAS_ADDRESS_FIX true)
@@ -35,7 +37,6 @@ 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)
@@ -8,9 +8,8 @@ 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_RAL False)
set(ENABLE_SECURITY False)
set(ENABLE_USE_CPU_EXECUTION_TIME True)
set(ENABLE_USE_MME False)
@@ -18,7 +17,7 @@ set(ENABLE_VCD_FIFO True)
set(HARD_RT False)
set(JUMBO_FRAME True)
set(LARGE_SCALE False)
set(LINK_PDCP_TO_GTPV1U False)
set(LINK_ENB_PDCP_TO_GTPV1U False)
set(LINUX_LIST False)
set(LINUX True)
set(LOCALIZATION False)
@@ -26,7 +25,7 @@ set(LOG_NO_THREAD True)
set(LOWLATENCY False)
set(MAC_CONTEXT 1)
set(MAX_NUM_CCs 1)
set(MIH_C_MEDIEVAL_EXTENSIONS True)
set(MIH_C_MEDIEVAL_EXTENSIONS False)
set(MSG_PRINT False)
set(MU_RECEIVER False)
set(NAS_ADDRESS_FIX true)
@@ -10,17 +10,12 @@ 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_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 )
@@ -29,7 +24,6 @@ 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 )
@@ -37,7 +31,10 @@ set ( LOG_NO_THREAD True )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MIH_C_MEDIEVAL_EXTENSIONS True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
@@ -10,17 +10,12 @@ 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 )
@@ -29,7 +24,6 @@ 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 )
@@ -37,7 +31,10 @@ set ( LOG_NO_THREAD True )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MIH_C_MEDIEVAL_EXTENSIONS True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 2.8)
set(ENABLE_VCD_FIFO False )
set(ENABLE_ITTI False )
set(RF_BOARD "ETHERNET")
set(PACKAGE_NAME "\"rrh_gw\"")
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
+210 -125
View File
@@ -41,10 +41,12 @@ source $THIS_SCRIPT_PATH/tools/build_helper
MSC_GEN="False"
XFORMS="False"
PRINT_STATS="False"
VCD_TIMING="False"
REL="Rel10"
HW="EXMIMO"
EPC=0
VERBOSE_COMPILE=0
function print_help() {
echo_info '
@@ -74,14 +76,16 @@ Options
Makes the UE specific parts (ue_ip, usim, nvram)
--EPC
Makes the EPC (MME-SPGW, HSS)
--RRH
Makes the RRH
-r | --3gpp-release
default is Rel10,
Rel8 limits the implementation to 3GPP Release 8 version
-w | --hardware
EXMIMO (Default), USRP, BLADERF, None
EXMIMO (Default), USRP, BLADERF, ETHERNET, None
Adds this RF board support (in external packages installation and in compilation)
--oaisim
Makes the oaisim simulator
Makes the oaisim simulator. Hardware will be defaulted to "NONE".
--phy_simulators
Makes the unitary tests Layer 1 simulators
--core_simulators
@@ -91,11 +95,22 @@ Options
-V | --vcd
Adds a debgging facility to the binary files: GUI with major internal synchronization events
-x | --xforms
Adds a software oscilloscope feature to the produced binaries
Adds a software oscilloscope feature to the produced binaries. If oaisim, then enable PRINT_STATS.
--install-system-files
Install OpenArInterface required files in Linux system
(will ask root password)
Typical Options for a quick startup with a COTS UE and Eurecom RF board: build_oai -I -g -eNB -EPC -x --install-system-files'
--noS1
Compiles oaisim or lte-softmodem without S1 interface, using direct link to IP instead
--verbose-compile
Shows detailed compilation instructions in makefile
Usage (first build):
oaisim (eNB + UE): ./build_oai -I -g --oaisim -x --install-system-files
Eurecom EXMIMO + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files
NI/ETTUS B201 + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files -w USRP
Usage (Regular):
oaisim : ./build_oai --oaisim -x
Eurecom EXMIMO + OAI ENB : ./build_oai --eNB -x
NI/ETTUS B201 + OAI ENB : ./build_oai --eNB -x -w USRP'
}
@@ -137,6 +152,10 @@ function main() {
EPC=1
echo_info "Will compile EPC"
shift;;
--RRH)
RRH=1
echo_info "Will compile RRH"
shift;;
-r | --3gpp-release)
REL=$2
echo_info "setting release to: $REL"
@@ -174,7 +193,7 @@ function main() {
EXE_ARGUMENTS="$EXE_ARGUMENTS -V"
shift;;
-x | --xforms)
XFORMS=1
XFORMS="True"
EXE_ARGUMENTS="$EXE_ARGUMENTS -d"
echo_info "Will generate the software oscilloscope features"
shift;;
@@ -182,6 +201,14 @@ function main() {
INSTALL_SYSTEM_FILES=1
echo_info "Will copy OpenAirInterface files in Linux directories"
shift;;
--noS1)
NOS1=1
echo_info "Will compile without S1 interface"
shift;;
--verbose-compile)
VERBOSE_COMPILE=1
echo_info "Will compile with verbose instructions"
shift;;
-h | --help)
print_help
exit 1;;
@@ -243,37 +270,70 @@ function main() {
check_install_additional_tools
fi
if [ "$oaisim" = "1" ] ; then
if [ "$HW" != "ETHERNET" ] ; then
HW="NONE"
fi
if [ "$XFORMS" == "True" ] ; then
PRINT_STATS="True"
fi
fi
echo_info "3. building the compilation directives ..."
DIR=$OPENAIR_DIR/cmake_targets
if [ "$NOS1" = "1" ] ; then
lte_build_dir=lte_noS1_build_oai
lte_exec=lte-softmodem-nos1
else
lte_build_dir=lte_build_oai
lte_exec=lte-softmodem
fi
# first generate the CMakefile in the right directory
if [ "$eNB" = "1" -o "$UE" = "1" -o "$HW" = "EXMIMO" ] ; then
if [ "$eNB" = "1" -o "$UE" = "1" ] ; then
# LTE softmodem compilation
[ "$CLEAN" = "1" ] && rm -rf $DIR/lte_build_oai/build
mkdir -p $DIR/lte_build_oai/build
cmake_file=$DIR/lte_build_oai/CMakeLists.txt
echo "cmake_minimum_required(VERSION 2.8)" > $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 "set(RF_BOARD \"${HW}\")" >> $cmake_file
echo 'set(PACKAGE_NAME "\"lte-softmodem\"")' >> $cmake_file
[ "$CLEAN" = "1" ] && rm -rf $DIR/$lte_build_dir/build
mkdir -p $DIR/$lte_build_dir/build
cmake_file=$DIR/$lte_build_dir/CMakeLists.txt
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
if [ "$NOS1" = "1" ] ; then
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
fi
echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
cd $DIR/lte_build_oai/build
cd $DIR/$lte_build_dir/build
cmake ..
echo_info "Compiling LTE softmodem"
compilations \
lte_build_oai lte-softmodem \
lte-softmodem lte-softmodem.$REL
fi
if [ "$eNB" = "1" ] ; then
echo_info "Compiling $lte_exec"
compilations \
$lte_build_dir $lte_exec \
$lte_exec $dbin/$lte_exec.$REL
if [ "$NOS1" = "1" ] ; then
compilations \
$lte_build_dir nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
compilations \
$lte_build_dir rb_tool \
rb_tool $dbin/rb_tool
cp $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $dbin
fi
fi
if [ "$UE" = 1 ] ; then
# ue_ip driver compilation
echo_info "Compiling UE specific part"
compilations \
lte_build_oai ue_ip \
$lte_build_dir ue_ip \
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
# mkdir -p $DIR/at_commands/build
@@ -282,7 +342,7 @@ function main() {
# compilations \
# at_commands at_nas_ue \
# at_nas_ue $dbin/at_nas_ue
[ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
mkdir -p $DIR/nas_sim_tools/build
cd $DIR/nas_sim_tools/build
@@ -341,140 +401,165 @@ function main() {
if [ "$HW" = "EXMIMO" -a "$EPC" = "0" ] ; then
echo_info "Compiling Express MIMO 2 board drivers"
mkdir -p $DIR/lte_noS1_build_oai/build
cd $DIR/lte_noS1_build_oai/build
cmake ..
compilations \
lte_noS1_build_oai openair_rf \
$lte_build_dir openair_rf \
CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko
compilations \
lte_noS1_build_oai updatefw \
$lte_build_dir updatefw \
updatefw $dbin/updatefw
make -C $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build oarf > $dlog/oarf.txt 2>&1
cp $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/*.oct $dbin
echo_success "oarf tools compiled"
make -C $OPENAIR_DIR/cmake_targets/$lte_build_dir/build oarf > $dlog/oarf.txt 2>&1
cp $OPENAIR_DIR/cmake_targets/$lte_build_dir/build/*.oct $dbin
if [ -s $dbin/oarf_config_exmimo.oct ] ; then
echo_success "oarf tools compiled"
else
echo_error "oarf tools compilation failed"
fi
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
fi
if [ "$oaisim" = "1" ] ; then
dconf=$OPENAIR_DIR/targets/bin
echo_info "Compiling at_nas_ue"
[ "$CLEAN" = "1" ] && rm -rf $DIR/at_commands/build
mkdir -p $DIR/at_commands/build
cd $DIR/at_commands/build
cmake ..
compilations \
at_commands at_nas_ue \
at_nas_ue $dbin/at_nas_ue
echo_info "Compiling oaisim"
cmake_file=$DIR/oaisim_build_oai/CMakeLists.txt
cp $DIR/oaisim_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
if [ "$NOS1" = "1" ] ; then
oaisim_build_dir=oaisim_noS1_build_oai
oaisim_exec=oaisim_nos1
else
oaisim_build_dir=oaisim_build_oai
oaisim_exec=oaisim
fi
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
cp $DIR/$oaisim_build_dir/CMakeLists.template $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( PRINT_STATS $PRINT_STATS )" >> $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
[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_build_oai/build
mkdir -p $DIR/oaisim_build_oai/build
cd $DIR/oaisim_build_oai/build
[ "$CLEAN" = "1" ] && rm -rf $DIR/$oaisim_build_dir/build
mkdir -p $DIR/$oaisim_build_dir/build
cd $DIR/$oaisim_build_dir/build
cmake ..
compilations \
oaisim_build_oai oaisim \
oaisim $dbin/oaisim.$REL
$oaisim_build_dir $oaisim_exec \
$oaisim_exec $dbin/$oaisim_exec.$REL
# ue_ip driver compilation
echo_info "Compiling UE specific part (ue_ip driver and usim tools)"
compilations \
oaisim_build_oai ue_ip \
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
if [ "$NOS1" != "1" ] ; then
[ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
mkdir -p $DIR/nas_sim_tools/build
cd $DIR/nas_sim_tools/build
cmake ..
compilations \
nas_sim_tools usim \
usim $dbin/usim
compilations \
nas_sim_tools nvram \
nvram $dbin/nvram
[ "$CLEAN" = "1" ] && rm -rf $DIR/at_commands/build
echo_info "Compiling at_nas_ue"
mkdir -p $DIR/at_commands/build
cd $DIR/at_commands/build
cmake ..
compilations \
at_commands at_nas_ue \
at_nas_ue $dbin/at_nas_ue
# generate USIM data
if [ -f $dbin/nvram ]; then
install_nas_tools $dbin $dconf
# ue_ip driver compilation
echo_info "Compiling UE specific part (ue_ip driver and usim tools)"
compilations \
oaisim_build_oai ue_ip \
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
[ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
mkdir -p $DIR/nas_sim_tools/build
cd $DIR/nas_sim_tools/build
cmake ..
compilations \
nas_sim_tools usim \
usim $dbin/usim
compilations \
nas_sim_tools nvram \
nvram $dbin/nvram
# generate USIM data
if [ -f $dbin/nvram ]; then
install_nas_tools $dbin $dconf
else
echo_warning "not generated UE NAS files: binaries not found"
fi
else
echo_warning "not generated UE NAS files: binaries not found"
compilations \
$oaisim_build_dir rb_tool \
rb_tool $dbin/rb_tool
# nasmesh driver compilation
compilations \
$oaisim_build_dir nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
#oai_nw_drv
compilations \
$oaisim_build_dir oai_nw_drv \
CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko
fi
echo_info "Compiling oaisim_nos1"
cmake_file=$DIR/oaisim_noS1_build_oai/CMakeLists.txt
cp $DIR/oaisim_noS1_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
[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_noS1_build_oai/build
mkdir -p $DIR/oaisim_noS1_build_oai/build
cd $DIR/oaisim_noS1_build_oai/build
cmake ..
compilations \
oaisim_noS1_build_oai oaisim_nos1 \
oaisim_nos1 $dbin/oaisim_nos1.$REL
compilations \
oaisim_noS1_build_oai rb_tool \
rb_tool $dbin/rb_tool
# nasmesh driver compilation
compilations \
oaisim_noS1_build_oai nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
#oai_nw_drv
compilations \
oaisim_noS1_build_oai oai_nw_drv \
CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko
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
[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_mme_build_oai/build
mkdir -p $DIR/oaisim_mme_build_oai/build
cd $DIR/oaisim_mme_build_oai/build
#[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_mme_build_oai/build
#mkdir -p $DIR/oaisim_mme_build_oai/build
#cd $DIR/oaisim_mme_build_oai/build
#cmake ..
#compilations \
# oaisim_mme_build_oai oaisim_mme \
# oaisim_mme $dbin/oaisim_mme.$REL
fi
# RRH compilation
##################
if [ "$RRH" = "1" ] ; then
echo_info "Compiling RRH"
if [ $HW == "ETHERNET" ] ; then
echo_info "RF frontend for RRH is not defined. This mode is used for testing (loopback)."
elif [ $HW != "EXMIMO" -a $HW != "OAI_USRP" -a $HW != "OAI_BLADERF" ] ; then
echo_fatal "Hardware not defined ($HW)"
fi
cmake_file=$DIR/rrh_gw/CMakeLists.txt
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set(ENABLE_ITTI False )" >> $cmake_file
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
[ "$CLEAN" = "1" ] && rm -rf $DIR/rrh_gw/build
mkdir -p $DIR/rrh_gw/build
cd $DIR/rrh_gw/build
cmake ..
compilations \
oaisim_mme_build_oai oaisim_mme \
oaisim_mme $dbin/oaisim_mme.$REL
rrh_gw rrh_gw \
rrh_gw $dbin/rrh_gw
fi
# EPC compilation
##################
if [ "$EPC" = "1" ] ; then
echo_info "Compiling EPC"
# Example HSS and EPC run on the same host
if [ "$CLEAN" = "1" ]; then
$OPENAIR_DIR/cmake_targets/tools/build_epc --clean --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
$OPENAIR_DIR/cmake_targets/tools/build_hss --clean --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
else
$OPENAIR_DIR/cmake_targets/tools/build_epc --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
$OPENAIR_DIR/cmake_targets/tools/build_hss --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
fi
# if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then
# if [ -f $dbin/hss.conf ] ; then
# sed -e 's/ *= */=/' $dbin/hss.conf > $dconf/hss.conf.nospace
# source $dconf/hss.conf.nospace
# rm -f $dconf/hss.conf.nospace
# create_hss_database root linux "$MYSQL_user" "$MYSQL_pass" "$MYSQL_db"
# else
# echo_warning "not created HSS database: config not found"
# fi
# fi
fi
echo_info "Compiling EPC"
# Example HSS and EPC run on the same host
if [ "$CLEAN" = "1" ]; then
$OPENAIR_DIR/cmake_targets/tools/build_epc --clean --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
$OPENAIR_DIR/cmake_targets/tools/build_hss --clean --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
else
$OPENAIR_DIR/cmake_targets/tools/build_epc --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
$OPENAIR_DIR/cmake_targets/tools/build_hss --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
fi
# if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then
# if [ -f $dbin/hss.conf ] ; then
# sed -e 's/ *= */=/' $dbin/hss.conf > $dconf/hss.conf.nospace
# source $dconf/hss.conf.nospace
# rm -f $dconf/hss.conf.nospace
# create_hss_database root linux "$MYSQL_user" "$MYSQL_pass" "$MYSQL_db"
# else
# echo_warning "not created HSS database: config not found"
# fi
# fi
fi
# Auto-tests
#####################
if [ "$OAI_TEST" = "1" ]; then
+11
View File
@@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 2.8)
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file(${OPENAIR_TARGETS}/DOCS/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif(DOXYGEN_FOUND)
@@ -12,13 +12,11 @@ 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 True )
set ( ENABLE_USE_CPU_EXECUTION_TIME False )
set ( ENABLE_USE_GTPU_IN_KERNEL True )
set ( ENABLE_USE_MME False )
set ( ENABLE_VCD_FIFO False )
set ( ENB_MODE False )
@@ -28,7 +26,7 @@ set ( FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT False)
set ( HARD_RT False )
set ( JUMBO_FRAME False )
set ( LARGE_SCALE False )
set ( LINK_PDCP_TO_GTPV1U False )
set ( LINK_ENB_PDCP_TO_GTPV1U False )
set ( LINUX_LIST False )
set ( LINUX False )
set ( LOCALIZATION False )
@@ -10,5 +10,6 @@ set(RANDOM_BF False)
set(PBS_SIM False)
set(PERFECT_CE False)
set(NAS_UE False)
set(MESSAGE_CHART_GENERATOR False)
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
@@ -0,0 +1,9 @@
set(ENABLE_ITTI True)
set(ENABLE_USE_MME False)
set(PDCP_USE_NETLINK True)
set(LINK_ENB_PDCP_TO_IP_DRIVER True)
set(LINK_ENB_PDCP_TO_GTPV1U False)
set(PDCP_USE_NETLINK_QUEUES False)
set(LINUX True)
set(SECU False)
set(NAS_UE False)
@@ -1,13 +0,0 @@
cmake_minimum_required(VERSION 2.8)
set(XFORMS 1 )
set(RRC_ASN1_VERSION "Rel10")
set(ENABLE_VCD_FIFO False )
set(RF_BOARD "EXMIMO")
set(NAS 1)
set(ENABLE_ITTI False)
set(ENABLE_USE_MME False)
set(LINK_ENB_PDCP_TO_GTPV1U False)
set(SECU False)
set(NAS_UE False)
set(PACKAGE_NAME "\"lte-softmodem\"")
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+26 -26
View File
@@ -20,30 +20,30 @@ set(OPENAIR_TARGETS $ENV{OPENAIR_DIR}/targets)
# Add .h files for dependancies
set(usim_SRC
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/tools/usim_data.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/api/usim/usim_api.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/api/usim/aka_functions.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/memory.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/nas_log.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/OctetString.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/TLVEncoder.c
${OPENAIR_DIR}/openair-cn/NAS/TOOLS/usim_data.c
${OPENAIR_DIR}/openair-cn/NAS/UE/API/USIM/usim_api.c
${OPENAIR_DIR}/openair-cn/NAS/UE/API/USIM/aka_functions.c
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/memory.c
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/nas_log.c
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/OctetString.c
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/TLVEncoder.c
)
set(usim_HDR
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/tools/network.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/api/usim/usim_api.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/api/usim/aka_functions.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/memory.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/nas_log.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/OctetString.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/TLVEncoder.h
${OPENAIR_DIR}/openair-cn/NAS/TOOLS/network.h
${OPENAIR_DIR}/openair-cn/NAS/UE/API/USIM/usim_api.h
${OPENAIR_DIR}/openair-cn/NAS/UE/API/USIM/aka_functions.h
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/memory.h
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/nas_log.h
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/OctetString.h
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/TLVEncoder.h
)
include_directories(
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/include
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/api/usim
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/emm/
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/esm/
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/ies/
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util
${OPENAIR_DIR}/openair-cn/NAS/COMMON
${OPENAIR_DIR}/openair-cn/NAS/UE/API/USIM
${OPENAIR_DIR}/openair-cn/NAS/UE/EMM/
${OPENAIR_DIR}/openair-cn/NAS/UE/ESM/
${OPENAIR_DIR}/openair-cn/NAS/COMMON/IES/
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL
)
ADD_EXECUTABLE(usim ${usim_SRC} ${usim_HDR})
@@ -51,15 +51,15 @@ ADD_EXECUTABLE(usim ${usim_SRC} ${usim_HDR})
set(nvram_SRC
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/tools/ue_data.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/memory.c
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/nas_log.c
${OPENAIR_DIR}/openair-cn/NAS/TOOLS/ue_data.c
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/memory.c
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/nas_log.c
)
set(nvram_HDR
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/emm/emmData.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/util/memory.h
${OPENAIR_DIR}/openair-cn/NAS/EURECOM-NAS/src/include/userDef.h
${OPENAIR_DIR}/openair-cn/NAS/UE/EMM/emmData.h
${OPENAIR_DIR}/openair-cn/NAS/COMMON/UTIL/memory.h
${OPENAIR_DIR}/openair-cn/NAS/COMMON/userDef.h
)
ADD_EXECUTABLE(nvram ${nvram_SRC} ${nvram_HDR})
@@ -10,7 +10,6 @@ set ( ENABLE_FXP True )
set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING True )
set ( ENABLE_NEW_MULTICAST True )
set ( ENABLE_PDCP_NETLINK_FIFO False )
set ( ENABLE_PGM_TRANSPORT True )
set ( ENABLE_RAL False )
set ( ENABLE_SECURITY True )
@@ -79,4 +78,3 @@ set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME "R10" )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
@@ -10,13 +10,11 @@ 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 )
@@ -10,7 +10,6 @@ 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 False )
set ( ENABLE_SECURITY False )
@@ -32,9 +31,9 @@ set ( LOG_NO_THREAD 1 )
set ( LOWLATENCY False )
set ( MAC_CONTEXT 1 )
set ( MAX_NUM_CCs 1 )
set ( MESSAGE_CHART_GENERATOR True )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC True )
set ( MESSAGE_CHART_GENERATOR_PHY True )
set ( MESSAGE_CHART_GENERATOR False )
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
set ( MESSAGE_CHART_GENERATOR_PHY False )
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
@@ -81,4 +80,6 @@ set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
set ( USE_MME "R10" )
set ( USER_MODE True )
set ( XER_PRINT False )
set ( XFORMS False )
set ( DEBUG_PHY False )
set ( DEBUG_PHY_PROC False)
set ( DEBUG_DLSCH False)
+6
View File
@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 2.8)
set(ENABLE_VCD_FIFO False )
set(ENABLE_ITTI False )
set(RF_BOARD "ETHERNET")
set(PACKAGE_NAME "\"rrh_gw\"")
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+706
View File
@@ -0,0 +1,706 @@
import re, os, sys, string
import datetime
import getopt
import getpass
version = "1.0.2"
lines = ""
iesDefs = {}
ieofielist = {}
outdir = './'
filenames = []
verbosity = 0
prefix = ""
FAIL = '\033[91m'
WARN = '\033[93m'
ENDC = '\033[0m'
fileprefix = ""
fileprefix_first_upper = ""
def printFail(string):
sys.stderr.write(FAIL + string + ENDC + "\n")
def printWarning(string):
print WARN + string + ENDC
def printDebug(string):
if verbosity > 0:
print string
def outputHeaderToFile(f, filename):
now = datetime.datetime.now()
f.write("""/*******************************************************************************
Eurecom OpenAirInterface
Copyright(c) 1999 - 2013 Eurecom
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
version 2, as published by the Free Software Foundation.
This program is distributed in the hope 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
this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in
the file called "COPYING".
Contact Information
Openair Admin: openair_admin@eurecom.fr
Openair Tech : openair_tech@eurecom.fr
Forums : http://forums.eurecom.fr/openairinterface
Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
06410 Biot FRANCE
*******************************************************************************/
""")
f.write("/*******************************************************************************\n")
f.write(" * This file had been created by asn1tostruct.py script v%s\n" % (version))
f.write(" * Please do not modify this file but regenerate it via script.\n")
f.write(" * Created on: %s by %s\n * from %s\n" % (str(now), getpass.getuser(), filenames))
f.write(" ******************************************************************************/\n")
def lowerFirstCamelWord(word):
""" puts the first word in a CamelCase Word in lowercase.
I.e. CustomerID becomes customerID, XMLInfoTest becomes xmlInfoTest
"""
newstr = ''
swapped = word.swapcase()
idx = 0
# if it's all-caps, return an all-lowered version
lowered = word.lower()
if swapped == lowered:
return lowered
for c in swapped:
if c in string.lowercase:
newstr += c
idx += 1
else:
break
if idx < 2:
newstr += word[idx:]
else:
newstr = newstr[:-1]+ word[idx-1:]
return newstr
def usage():
print "Python parser for asn1 v%s" % (version)
print "Usage: python asn1tostruct.py [options]"
print "Available options:"
print "-d Enable script debug"
print "-f [file] Input file to parse"
print "-o [dir] Output files to given directory"
print "-h Print this help and return"
try:
opts, args = getopt.getopt(sys.argv[1:], "df:ho:", ["debug", "file", "help", "outdir"])
except getopt.GetoptError as err:
# print help information and exit:
usage()
sys.exit(2)
for o, a in opts:
if o in ("-f", "--file"):
filenames.append(a)
if o in ("-d", "--debug"):
verbosity = 1
if o in ("-o", "--outdir"):
outdir = a
if outdir.rfind('/') != len(outdir):
outdir += '/'
if o in ("-h", "--help"):
usage()
sys.exit(2)
for filename in filenames:
file = open(filename, 'r')
for line in file:
# Removing any comment
if line.find('--') >= 0:
line = line[:line.find('--')]
# Removing any carriage return
lines += re.sub('\r', '', line)
for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+SEQUENCE\s+\(\s*SIZE\s*\(\s*\d+\s*\.\.\s*[0-9a-zA-Z-]+\s*\)\s*\)\s*OF\s+[a-zA-Z-]+\s*\{\s*\{\s*([0-9a-zA-Z-]+)\s*\}\s*\}', lines, re.MULTILINE):
ieofielist[m[0]] = m[1]
for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+E-RAB-IE-ContainerList\s*\{\s*\{\s*([a-zA-Z0-9-]+)\s*\}\s*\}', lines, re.MULTILINE):
ieofielist[m[0]] = m[1]
for i in re.findall(r'([a-zA-Z0-9-]+)\s+([A-Z0-9-]+)\s*::=\s*\{\s+([\,\|\{\}\t\n\.{3}\ \-a-zA-Z0-9]+)\s+}\n', lines, re.MULTILINE):
ies = []
maxLength = 0
# TODO: handle extensions
if i[1].find('EXTENSION') >= 0:
continue
if fileprefix == "":
fileprefix = i[1][:i[1].find('-')].lower()
for j in re.findall(r'\s*\{\s*([a-zA-Z0-9-\ \t]+)\s*\}\s*[\|,]*', i[2], re.MULTILINE):
for k in re.findall(r'ID\s*([a-zA-Z0-9\-]+)\s*CRITICALITY\s*([a-zA-Z0-9\-]+)\s+[A-Z]+\s+([a-zA-Z0-9\-]+)\s*PRESENCE\s*([a-zA-Z0-9\-]+)', j, re.MULTILINE):
printDebug("Got new ie for message " + i[0] + ": " + str(k))
if len(k[2]) > maxLength:
maxLength = len(k[2])
ies.append(k)
if len(ies) > 0:
iesDefs[i[0]] = { "length": maxLength, "ies": ies }
else:
printWarning("Didn't find any information element for message: " + i[0])
if len(iesDefs) == 0:
printFail("No Information Element parsed, exiting")
sys.exit(0)
fileprefix_first_upper = fileprefix[0].upper() + fileprefix[1:]
f = open(outdir + fileprefix + '_ies_defs.h', 'w')
outputHeaderToFile(f, filename)
f.write("#include \"%s_common.h\"\n\n" % (fileprefix))
f.write("#ifndef %s_IES_DEFS_H_\n#define %s_IES_DEFS_H_\n\n" % (fileprefix.upper(), fileprefix.upper()))
f.write("/* Define the version of script used to generate this file */\n")
f.write("#define %s_SCRIPT_VERSION (%s)\n\n" % (fileprefix.upper(), re.sub('\.', '', version)))
for key in iesDefs:
if key not in ieofielist.values():
continue
for (i, j) in ieofielist.items():
if j == key:
break
f.write("typedef struct %sIEs_s {\n" % (re.sub('-', '_', i)))
f.write(" A_SEQUENCE_OF(struct %s_s) %s;\n" % (re.sub('IEs', '', re.sub('-', '_', ieofielist[i])), lowerFirstCamelWord(re.sub('IEs', '', re.sub('-', '_', ieofielist[i])))))
f.write("} %sIEs_t;\n\n" % (re.sub('-', '_', i)))
for key in iesDefs:
keyupperunderscore = re.sub('-', '_', key.upper())
keylowerunderscore = re.sub('-', '_', key.lower())
shift = 0
if len(iesDefs[key]["ies"]) == 0:
continue
# Presence mask
for ie in iesDefs[key]["ies"]:
ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
if ie[3] == "optional" or ie[3] == "conditional":
f.write("#define {0:<{pad}} {1}\n".format("%s_%s_PRESENT" % (keyupperunderscore, ieupperunderscore), "(1 << %d)" % shift,
pad=iesDefs[key]["length"] + len(keyupperunderscore) + 9))
shift += 1
if (shift > 0):
f.write("\n")
f.write("typedef struct %s_s {\n" % (re.sub('-', '_', key)))
if (shift > 0):
f.write(" {0:<{pad}} {1};\n".format("uint16_t", "presenceMask", pad=iesDefs[key]["length"] + 2))
for ie in iesDefs[key]["ies"]:
ieunderscore = re.sub('-', '_', ie[2])
iename = re.sub('id-', '', ie[0])
ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
if ie[2] in ieofielist:
f.write(" %sIEs_t %s;" % (re.sub('-', '_', ie[2]), ienameunderscore))
else:
f.write(" {0:<{pad}} {1};".format("%s_t" % ieunderscore, ienameunderscore, pad=iesDefs[key]["length"] + 2))
if ie[3] == "optional":
f.write(" ///< Optional field")
elif ie[3] == "conditional":
f.write(" ///< Conditional field")
f.write("\n")
f.write("} %s_t;\n\n" % (re.sub('-', '_', key)))
f.write("typedef struct %s_message_s {\n" % (fileprefix))
f.write(" %s_ProcedureCode_t procedureCode;\n" % (fileprefix_first_upper))
f.write(" %s_Criticality_t criticality;\n" % (fileprefix_first_upper))
f.write(" uint8_t direction;\n")
f.write(" union {\n")
messageList = iesDefs.keys()
messageList.sort()
for message in messageList:
if message in ieofielist.values():
continue
if len(iesDefs[message]["ies"]) == 0:
continue
f.write(" %s_t %s;\n" % (re.sub('-', '_', message), lowerFirstCamelWord(re.sub('-', '_', message))))
f.write(" } msg;\n")
f.write("} %s_message;\n\n" % (fileprefix))
for key in iesDefs:
if key in ieofielist.values():
continue
structName = re.sub('ies', '', key)
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key)))
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
keylowerunderscore = re.sub('-', '_', key.lower())
firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
f.write("/** \\brief Decode function for %s ies.\n" % (key))
if len(iesDefs[key]["ies"]) != 0:
f.write(" * \\param %s Pointer to ASN1 structure in which data will be stored\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" * \\param any_p Pointer to the ANY value to decode.\n")
f.write(" **/\n")
f.write("int %s_decode_%s(\n" % (fileprefix, keylowerunderscore))
if len(iesDefs[key]["ies"]) != 0:
f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" ANY_t *any_p);\n\n")
if len(iesDefs[key]["ies"]) == 0:
continue
f.write("/** \\brief Encode function for %s ies.\n" % (key))
f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" **/\n")
f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
f.write(" %s_t *%s,\n" % (asn1cStruct, firstlower))
f.write(" %s_t *%s);\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
for key in iesDefs:
if key not in ieofielist.values():
continue
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
f.write("/** \\brief Encode function for %s ies.\n" % (key))
f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" **/\n")
f.write("int %s_encode_%s(\n" % (fileprefix, firstlower.lower()))
f.write(" %s_t *%s,\n" % (asn1cStruct, firstlower))
f.write(" %sIEs_t *%sIEs);\n\n" % (asn1cStruct, firstlower))
f.write("/** \\brief Decode function for %s ies.\n" % (key))
f.write(" * \\param any_p Pointer to the ANY value to decode.\n")
f.write(" * \\param callback Callback function called when any_p is successfully decoded.\n")
f.write(" **/\n")
f.write("int %s_decode_%s(\n" % (fileprefix, firstlower.lower()))
f.write(" %sIEs_t *%sIEs,\n" % (asn1cStruct, firstlower))
f.write(" %s_t *%s);\n\n" % (asn1cStruct, lowerFirstCamelWord(asn1cStruct)))
for key in iesDefs:
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
if key in ieofielist.values():
f.write("/** \\brief Display %s encapsulated IE using XER encoding.\n" % (asn1cStruct))
f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" * \\param file File descriptor to write output.\n")
f.write(" **/\n")
f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, re.sub('item', 'list', firstlower.lower())))
f.write(" asn_app_consume_bytes_f *cb,\n")
f.write(" void *app_key,\n")
f.write(" %sIEs_t *%sIEs);\n\n" % (re.sub('item', 'list', asn1cStruct), firstlower))
else:
f.write("/** \\brief Display %s message using XER encoding.\n" % (asn1cStruct))
f.write(" * \\param message_p Pointer to root message.\n")
f.write(" * \\param file File descriptor to write output.\n")
f.write(" **/\n")
f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, firstlower.lower()))
f.write(" asn_app_consume_bytes_f *cb,\n")
f.write(" void *app_key,\n")
f.write(" %s_message *message_p);\n\n" % (fileprefix))
f.write("int %s_xer__print2sp(const void *buffer, size_t size, void *app_key);\n\n" % (fileprefix.lower()))
f.write("int %s_xer__print2fp(const void *buffer, size_t size, void *app_key);\n\n" % (fileprefix.lower()))
f.write("extern size_t %s_string_total_size;\n\n" % (fileprefix.lower()))
f.write("#endif /* %s_IES_DEFS_H_ */\n\n" % (fileprefix.upper()))
#Generate Decode functions
f = open(outdir + fileprefix + '_decoder.c', 'w')
outputHeaderToFile(f, filename)
f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n\n" % (fileprefix, fileprefix))
for key in iesDefs:
if key in ieofielist.values():
continue
structName = re.sub('ies', '', key)
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
if asn1cStruct.rfind('_') == len(asn1cStruct) - 1:
asn1cStruct = asn1cStruct[:-1]
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
ielistname = re.sub('UE', 'ue', asn1cStruct)
ielistnamefirstlower = ielistname[:1].lower() + ielistname[1:]
asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
keyName = re.sub('-', '_', key)
keyupperunderscore = keyName.upper()
firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
iesaccess = ""
if key not in ieofielist.values():
iesaccess = "%s_ies." % (firstlower)
f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
if len(iesDefs[key]["ies"]) != 0:
f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" ANY_t *any_p) {\n\n")
f.write(" %s_t %s;\n %s_t *%s_p = &%s;\n" % (asn1cStruct, asn1cStructfirstlower, asn1cStruct, asn1cStructfirstlower, asn1cStructfirstlower))
f.write(" int i, decoded = 0;\n")
if len(iesDefs[key]["ies"]) != 0:
f.write(" int tempDecoded = 0;\n")
f.write(" assert(any_p != NULL);\n")
if len(iesDefs[key]["ies"]) != 0:
f.write(" assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" %s_DEBUG(\"Decoding message %s (%%s:%%d)\\n\", __FILE__, __LINE__);\n\n" % (fileprefix.upper(), re.sub('-', '_', keyName)))
f.write(" ANY_to_type_aper(any_p, &asn_DEF_%s, (void**)&%s_p);\n\n" % (asn1cStruct, asn1cStructfirstlower))
f.write(" for (i = 0; i < %s_p->%slist.count; i++) {\n" % (asn1cStructfirstlower, iesaccess))
f.write(" %s_IE_t *ie_p;\n" % (fileprefix[0].upper() + fileprefix[1:]))
f.write(" ie_p = %s_p->%slist.array[i];\n" % (asn1cStructfirstlower, iesaccess))
f.write(" switch(ie_p->id) {\n")
for ie in iesDefs[key]["ies"]:
iename = re.sub('id-', '', ie[0])
ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
ienameunderscorefirstlower = lowerFirstCamelWord(ienameunderscore)
ietypesubst = re.sub('-', '', ie[2])
ietypeunderscore = re.sub('-', '_', ie[2])
ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
if ie[3] == "optional":
f.write(" /* Optional field */\n")
elif ie[3] == "conditional":
f.write(" /* Conditional field */\n")
f.write(" case %s_ProtocolIE_ID_%s:\n" % (fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" {\n")
f.write(" %s_t *%s_p = NULL;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
if ie[3] != "mandatory":
f.write(" %s->presenceMask |= %s_%s_PRESENT;\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
f.write(" if (tempDecoded < 0 || %s_p == NULL) {\n" % (lowerFirstCamelWord(ietypesubst)))
f.write(" %s_ERROR(\"Decoding of IE %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore))
f.write(" if (%s_p)\n" % (lowerFirstCamelWord(ietypesubst)))
f.write(" ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" decoded += tempDecoded;\n")
f.write(" if (asn1_xer_print)\n")
f.write(" xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
if ie[2] in ieofielist.keys():
f.write(" if (%s_decode_%s(&%s->%s, %s_p) < 0) {\n" % (fileprefix, ietypeunderscore.lower(), lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst)))
f.write(" %s_ERROR(\"Decoding of encapsulated IE %s failed\\n\");\n" % (fileprefix.upper(), lowerFirstCamelWord(ietypesubst)))
f.write(" ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
f.write(" }\n")
else:
f.write(" memcpy(&%s->%s, %s_p, sizeof(%s_t));\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst), ietypeunderscore))
#f.write(" ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
f.write(" } break;\n")
f.write(" default:\n")
f.write(" %s_ERROR(\"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower())))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" }\n")
f.write(" return decoded;\n")
f.write("}\n\n")
for key in iesDefs:
if key not in ieofielist.values():
continue
keyname = re.sub('IEs', '', re.sub('Item', 'List', key))
f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', keyname).lower()))
f.write(" %sIEs_t *%sIEs,\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname))))
f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname))))
f.write(" int i, decoded = 0;\n")
f.write(" int tempDecoded = 0;\n\n")
f.write(" assert(%s != NULL);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))));
f.write(" assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))));
f.write(" for (i = 0; i < %s->list.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
f.write(" %s_IE_t *ie_p = %s->list.array[i];\n" % (fileprefix[0].upper() + fileprefix[1:], lowerFirstCamelWord(re.sub('-', '_', keyname))))
f.write(" switch (ie_p->id) {\n")
for ie in iesDefs[key]["ies"]:
iename = re.sub('id-', '', ie[0])
ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
f.write(" case %s_ProtocolIE_ID_%s:\n" % (fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" {\n")
f.write(" %s_t *%s_p = NULL;\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" if (tempDecoded < 0 || %s_p == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" %s_ERROR(\"Decoding of IE %s for message %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore, re.sub('-', '_', keyname)))
f.write(" if (%s_p)\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2]))))
#f.write(" free(%s_p);\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" decoded += tempDecoded;\n")
f.write(" if (asn1_xer_print)\n")
f.write(" xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" ASN_SEQUENCE_ADD(&%sIEs->%s, %s_p);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)),
re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
f.write(" } break;\n")
f.write(" default:\n")
f.write(" %s_ERROR(\"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower())))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" }\n")
f.write(" return decoded;\n")
f.write("}\n\n")
#Generate IES Encode functions
f = open(outdir + fileprefix + '_encoder.c', 'w')
outputHeaderToFile(f,filename)
f.write("#include \"%s_common.h\"\n" % (fileprefix))
f.write("#include \"%s_ies_defs.h\"\n\n" % (fileprefix))
for key in iesDefs:
if key in ieofielist.values():
continue
structName = re.sub('ies', '', key)
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
if asn1cStruct.rfind('_') == len(asn1cStruct) - 1:
asn1cStruct = asn1cStruct[:-1]
asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
iesaccess = ""
if key not in ieofielist.values():
iesaccess = "%s_ies." % (firstwordlower)
keyName = re.sub('-', '_', key)
keyupperunderscore = keyName.upper()
# No IE to encode...
if len(iesDefs[key]["ies"]) == 0:
continue
f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower))
f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
f.write(" %s_IE_t *ie;\n\n" % (fileprefix_first_upper))
f.write(" assert(%s != NULL);\n" % (firstwordlower));
f.write(" assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key))));
for ie in iesDefs[key]["ies"]:
iename = re.sub('-', '_', re.sub('id-', '', ie[0]))
ienameunderscore = re.sub('-', '_', iename)
ienamefirstwordlower = lowerFirstCamelWord(iename)
ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
ietypeunderscore = re.sub('-', '_', ie[2])
if ie[3] != "mandatory":
if ie[3] == "optional":
f.write(" /* Optional field */\n")
elif ie[3] == "conditional":
f.write(" /* Conditional field */\n")
f.write(" if (%s->presenceMask & %s_%s_PRESENT) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
#f.write(" == %s_%s_PRESENT) {\n" % (keyupperunderscore, ieupperunderscore))
f.write(" if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n" % (firstwordlower, iesaccess))
f.write(" }\n\n")
else:
if ie[2] in ieofielist.keys():
f.write(" %s_t %s;\n\n" % (ietypeunderscore, ienamefirstwordlower))
f.write(" memset(&%s, 0, sizeof(%s_t));\n" % (ienamefirstwordlower, ietypeunderscore))
f.write("\n")
f.write(" if (%s_encode_%s(&%s, &%s->%s) < 0) return -1;\n" % (fileprefix, ietypeunderscore.lower(), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
f.write(" if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
if ie[2] in ieofielist.keys():
f.write(" &%s)) == NULL) {\n" % (ienamefirstwordlower))
else:
f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n\n" % (firstwordlower, iesaccess))
if ie[2] in ieofielist.keys():
f.write(" /* Free any dynamic allocation that is no more used */\n")
f.write(" ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_%s, &%s);\n\n" % (ietypeunderscore, ienamefirstwordlower))
f.write(" return 0;\n")
f.write("}\n\n")
for (key, value) in iesDefs.items():
if key not in ieofielist.values():
continue
ie = value["ies"][0]
ietypeunderscore = re.sub('-', '_', ie[2])
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key)))
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
for (i, j) in ieofielist.items():
if j == key:
break
f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', i).lower()))
f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower))
f.write(" %sIEs_t *%sIEs) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i))))
f.write(" int i;\n")
f.write(" %s_IE_t *ie;\n\n" % (fileprefix_first_upper))
f.write(" assert(%s != NULL);\n" % (firstwordlower));
f.write(" assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', i))));
f.write(" for (i = 0; i < %sIEs->%s.count; i++) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
f.write(" if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
f.write(" %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
f.write(" %sIEs->%s.array[i])) == NULL) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
f.write(" return -1;\n")
f.write(" }\n")
f.write(" ASN_SEQUENCE_ADD(&%s->list, ie);\n" % (firstwordlower))
f.write(" }\n")
f.write(" return 0;\n")
f.write("}\n\n")
#Generate xer print functions
f = open(outdir + fileprefix + '_xer_print.c', 'w')
outputHeaderToFile(f, filename)
f.write("#include <stdlib.h>\n")
f.write("#include <stdio.h>\n\n")
f.write("#include <asn_application.h>\n#include <asn_internal.h>\n\n")
f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n\n" % (fileprefix, fileprefix))
f.write("size_t %s_string_total_size = 0;\n\n" % (fileprefix.lower()))
f.write("""int
%s_xer__print2fp(const void *buffer, size_t size, void *app_key) {
FILE *stream = (FILE *)app_key;
if(fwrite(buffer, 1, size, stream) != size)
return -1;
return 0;
}
""" % (fileprefix.lower()))
f.write("""int %s_xer__print2sp(const void *buffer, size_t size, void *app_key) {
char *string = (char *)app_key;
/* Copy buffer to the formatted string */
memcpy(&string[%s_string_total_size], buffer, size);
%s_string_total_size += size;
return 0;
}
""" % (fileprefix.lower(), fileprefix.lower(), fileprefix.lower()))
f.write("""static asn_enc_rval_t
xer_encode_local(asn_TYPE_descriptor_t *td, void *sptr,
asn_app_consume_bytes_f *cb, void *app_key, int indent) {
asn_enc_rval_t er, tmper;
const char *mname;
size_t mlen;
int xcan = 2;
if(!td || !sptr) goto cb_failed;
mname = td->xml_tag;
mlen = strlen(mname);
_i_ASN_TEXT_INDENT(0, indent);
_ASN_CALLBACK3("<", 1, mname, mlen, ">", 1);
tmper = td->xer_encoder(td, sptr, indent + 1, XER_F_BASIC, cb, app_key);
if(tmper.encoded == -1) return tmper;
_ASN_CALLBACK3("</", 2, mname, mlen, ">\\n", xcan);
er.encoded = 4 + xcan + (2 * mlen) + tmper.encoded;
_ASN_ENCODED_OK(er);
cb_failed:
_ASN_ENCODE_FAILED;
}
""")
for (key, value) in iesDefs.items():
keyName = re.sub('-', '_', key)
keyupperunderscore = keyName.upper()
iesStructName = lowerFirstCamelWord(re.sub('-', '_', key))
ie = value["ies"][0]
ietypeunderscore = re.sub('-', '_', ie[2])
if key in ieofielist.values():
f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, re.sub('ies', '', re.sub('item', 'list', re.sub('-', '_', key).lower()))))
else:
f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, re.sub('ies', '', re.sub('-', '_', key).lower())))
#f.write(" FILE *file,\n")
f.write(" asn_app_consume_bytes_f *cb,\n")
f.write(" void *app_key,\n")
if key in ieofielist.values():
iesStructName = lowerFirstCamelWord(re.sub('Item', 'List', re.sub('-', '_', key)))
f.write(" %sIEs_t *%s) {\n\n" % (re.sub('IEs', '', re.sub('Item', 'List', re.sub('-', '_', key))), iesStructName))
f.write(" int i;\n")
f.write(" asn_enc_rval_t er;\n")
else:
f.write(" %s_message *message_p)\n{\n" % (fileprefix))
f.write(" %s_t *%s;\n" % (re.sub('-', '_', key), iesStructName))
f.write(" asn_enc_rval_t er;\n")
#f.write(" void *app_key = (void *)file;\n")
#f.write(" asn_app_consume_bytes_f *cb = %s_xer__print2fp;\n\n" % (fileprefix.lower()))
f.write(" %s = &message_p->msg.%s;\n\n" % (iesStructName, iesStructName))
if key in ieofielist.values():
# Increase indentation level
f.write(" for (i = 0; i < %s->%s.count; i++) {\n" % (iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
#f.write(" xer_fprint(file, &asn_DEF_%s, %s->%s.array[i]);\n" % (ietypeunderscore, iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
f.write(" er = xer_encode(&asn_DEF_%s, %s->%s.array[i], XER_F_BASIC, cb, app_key);\n" % (ietypeunderscore, iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
f.write(" }\n")
else:
f.write(" cb(\"<%s-PDU>\\n\", %d, app_key);\n" % (key, len("<%s-PDU>\n" % (key))))
f.write(" xer_encode_local(&asn_DEF_%s_Criticality, &message_p->criticality, cb, app_key, 1);\n" % fileprefix_first_upper)
f.write(" xer_encode_local(&asn_DEF_%s_ProcedureCode, &message_p->procedureCode, cb, app_key, 1);\n" % fileprefix_first_upper)
f.write(" cb(\" <%s>\\n\", %d, app_key);\n" % (key, len(" <%s>\n" % (key))))
for ie in iesDefs[key]["ies"]:
iename = re.sub('-', '_', re.sub('id-', '', ie[0]))
ienameunderscore = re.sub('-', '_', iename)
ienamefirstwordlower = lowerFirstCamelWord(iename)
ietypeunderscore = re.sub('-', '_', ie[2])
ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
if ie[3] != "mandatory":
if ie[3] == "optional":
f.write(" /* Optional field */\n")
elif ie[3] == "conditional":
f.write(" /* Conditional field */\n")
f.write(" if (%s->presenceMask & %s_%s_PRESENT)\n " % (iesStructName, keyupperunderscore, ieupperunderscore))
# Is it an encapsulated IE ?
if ie[2] in ieofielist.keys():
f.write(" %s_xer_print_%s(cb, app_key, &%s->%s);\n" % (fileprefix, re.sub('ies', '', re.sub('-', '_', ie[2]).lower()), iesStructName, ienamefirstwordlower))
else:
f.write(" xer_encode_local(&asn_DEF_%s, &%s->%s, cb, app_key, 2);\n" % (ietypeunderscore, iesStructName, ienamefirstwordlower))
f.write(" cb(\" </%s>\\n\", %d, app_key);\n" % (key, len(" </%s>\n" % (key))))
f.write(" cb(\"</%s-PDU>\\n\", %d, app_key);\n" % (key, len("</%s-PDU>\n" % (key))))
f.write(" _ASN_ENCODED_OK(er);\n")
#if key not in ieofielist.values():
#f.write("cb_failed:\n")
#f.write(" return er;\n")
f.write("}\n\n")
+11 -17
View File
@@ -233,12 +233,12 @@ function main()
##############################################################################
# Compile userspace executable
##############################################################################
rm -f $OPENAIR_DIR/targets/bin/mme_gw
cd $OPENAIR_DIR/cmake_targets/epc_build_oai
if [ $clean -ne 0 ]; then
if [[ $verbose -eq 1 ]]; then
echo "Cleaning EPC"
echo "Cleaning EPC: certificates, generated configuration files, obj files, mme_gw executable, GTP kernel module"
fi
rm -f $OPENAIR_DIR/targets/bin/mme_gw
rm -Rf build 2>&1
$SUDO rm -Rf $OPENAIR_TARGETS/CMAKE/EPC/MME_GW/build 2>&1
$SUDO rm -f /usr/local/etc/freeDiameter/mme* 2>&1
@@ -246,8 +246,8 @@ function main()
$SUDO rm -f /usr/etc/freeDiameter/mme* 2>&1
$SUDO rm -f /usr/etc/freeDiameter/epc* 2>&1
$SUDO rm -f $OPENAIR_DIR/targets/bin/xt_GTPU*.ko 2>&1
(cd $OPENAIRCN_DIR/GTPV1-U/GTPUAH && $SUDO make clean)
$SUDO rm -f $OPENAIRCN_DIR/GTPV1-U/GTPUAH/Bin/* 2>&1
(cd $OPENAIRCN_DIR/GTPV1-U/GTPU_SP && $SUDO make clean)
$SUDO rm -f $OPENAIRCN_DIR/GTPV1-U/GTPU_SP/Bin/* 2>&1
$SUDO rm -f /lib/xtables/libxt_GTPU*.so 2>&1
mkdir -m 777 -p -v build
fi
@@ -273,20 +273,17 @@ function main()
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
epc_build_oai xt_GTPUSP_lib \
libxt_GTPUSP_lib.so $dbin
compilations \
epc_build_oai xt_GTPUAH \
CMakeFiles/xt_GTPUAH/xt_GTPUAH.ko $dbin
epc_build_oai xt_GTPUSP \
CMakeFiles/xt_GTPUSP/xt_GTPUSP.ko $dbin
echo_info "Copying iptables libraries into system directory: /lib/xtables"
if [ -f $dbin/libxt_GTPUAH_lib.so ] ; then
$SUDO rm -f /lib/xtables/libxt_GTPUAH.so
$SUDO ln -s $dbin/libxt_GTPUAH_lib.so /lib/xtables/libxt_GTPUAH.so
if [ -f $dbin/libxt_GTPUSP_lib.so ] ; then
$SUDO rm -f /lib/xtables/libxt_GTPUSP.so
$SUDO ln -s $dbin/libxt_GTPUSP_lib.so /lib/xtables/libxt_GTPUSP.so
else
echo_fatal "not installed GTP-U iptables: binaries not found"
fi
@@ -298,9 +295,6 @@ function main()
else
echo_fatal "not installed EPC config files: not found"
fi
}
+36 -13
View File
@@ -31,7 +31,7 @@
# author Laurent Thomas
#
#######################################
SUDO=sudo
SUDO='sudo -E'
###############################
## echo and family
@@ -40,7 +40,7 @@ black='\E[30m'
red='\E[31m'
green='\E[32m'
yellow='\E[33m'
blue='\E[34m'
blue='\E[1;34m'
magenta='\E[35m'
cyan='\E[36m'
white='\E[37m'
@@ -112,10 +112,11 @@ compilations() {
cd $OPENAIR_DIR/cmake_targets/$1/build
{
rm -f $3
make -j4 $2
make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE
} > $dlog/$2.$REL.txt 2>&1
echo_info "Log file for compilation has been written to: $dlog/$2.$REL.txt"
if [ -s $3 ] ; then
cp $3 $dbin
cp $3 $4
echo_success "$2 compiled"
else
echo_error "$2 compilation failed"
@@ -179,7 +180,7 @@ install_nettle_from_source() {
cd nettle-2.5/
./configure --disable-openssl --enable-shared --prefix=/usr
echo "Compiling nettle"
make -j4
make -j`nproc`
make check
$SUDO make install
rm -rf /tmp/nettle-2.5.tar.gz /tmp/nettle-2.5
@@ -194,14 +195,14 @@ install_gnutls_from_source(){
cd gnutls-3.1.23/
./configure --prefix=/usr
echo "Compiling gnutls"
make -j4
make -j`nproc`
$SUDO make install
rm -rf /tmp/gnutls-3.1.23.tar.xz /tmp/gnutls-3.1.23
}
install_1.1.5_freediameter_from_source() {
cd /tmp
echo "Downloading 1.1.5 freeDiameter archive"
echo "Downloading 1.1.5 freeDiameter archive"
rm -rf /tmp/1.1.5.tar.gz* /tmp/freeDiameter-1.1.5
wget http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz
tar xzf 1.1.5.tar.gz
@@ -211,7 +212,7 @@ install_1.1.5_freediameter_from_source() {
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
echo "Compiling freeDiameter"
make -j4
make -j`nproc`
#make test
$SUDO make install
rm -rf /tmp/1.1.5.tar.gz /tmp/freeDiameter-1.1.5
@@ -229,12 +230,30 @@ install_freediameter_from_source() {
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
echo "Compiling freeDiameter"
make -j4
make -j`nproc`
#make test
$SUDO make install
rm -rf /tmp/1.2.0.tar.gz /tmp/freeDiameter-1.2.0
}
install_latest_freediameter_from_source() {
cd /tmp
rm -rf /tmp/freeDiameter
echo "Downloading latest freeDiameter trunk (may be unstable)"
git clone https://github.com/Metaswitch/freeDiameter.git
cd freeDiameter
patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.2.0.patch
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
echo "Compiling freeDiameter"
make -j`nproc`
#make test
$SUDO make install
rm -rf /tmp/freeDiameter
}
check_install_usrp_uhd_driver(){
v=$(lsb_release -cs)
$SUDO apt-add-repository "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main"
@@ -279,17 +298,20 @@ check_install_oai_software() {
$SUDO apt-get update
$SUDO apt-get install -y \
autoconf \
autoconf \
automake \
bison \
build-essential \
cmake \
cmake-curses-gui \
doxygen \
doxygen-gui\
texlive-latex-base\
ethtool \
flex \
gccxml \
gdb \
gccxml \
gdb \
git \
graphviz \
gtkwave \
guile-2.0-dev \
@@ -308,7 +330,7 @@ check_install_oai_software() {
libgmp-dev \
libgtk-3-dev \
libidn2-0-dev \
libidn11-dev \
libidn11-dev \
libmysqlclient-dev \
liboctave-dev \
libpgm-5.1 \
@@ -350,6 +372,7 @@ install_asn1c_from_source(){
svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair-cn/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair-cn/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 >> /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0 >> /tmp/log_compile_asn1c
./configure
make > /tmp/log_compile_asn1c 2>&1
$SUDO make install
@@ -86,7 +86,11 @@ function main() {
else
echo_error "Bad mme fqdn found in cert file: $full_hostname fqdn is $fqdn"
fi
else
echo_error "File $freediameter_path/etc/freeDiameter/mme.cert.pem not found"
fi
else
echo_error "Directory $freediameter_path/etc/freeDiameter not found"
fi
echo_error "MME S6A: Did not find valid certificate in $freediameter_path/etc/freeDiameter"
echo_warning "MME S6A: generating new certificate in $freediameter_path/etc/freeDiameter..."
+38 -6
View File
@@ -1,3 +1,36 @@
# Internet
# |
# PGW_IPV4_ADDRESS_FOR_SGI |
# +-----------+-------+------------+---------------+--------------------------+
# |host y | | PGW_INTERFACE_NAME_FOR_SGI | |
# +-----------+ +------------+---------------+ |
# | | |
# | +----+----+ (HSS may run on this host |
# | | mme_gw | or on another one) |
# | +----+----+ |
# | | |
# | +-----------------+--------------------+ |
# | | SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP | |
# | | MME_INTERFACE_NAME_FOR_S1_MME | |
# +----------------------------+---+--+---------------------------------------+
# MME_IPV4_ADDRESS_FOR_S1_MME | (S1-C and S1-U addresses/interfaces may be the same)
# SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP
# |
# |
# a.b.c.d |
# +---------------+------------+---+--+---------------------------------------+
# |eNBx | | ethx | |
# +---------------+ +---+--+ |
# | | |
# | +------+---------+ |
# | | lte-softmodem | |
# | | or | |
# | | oaisim (1)eNB (x UEs) |
# | +-------+--------+ |
# +---------------------------------+-----------------------------------------+
# |
# O (RF antenna)
MME :
{
@@ -34,8 +67,8 @@ MME :
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 32;
SCTP_OUTSTREAMS = 32;
SCTP_INSTREAMS = 8;
SCTP_OUTSTREAMS = 8;
};
# ------- S1AP definitions
@@ -61,7 +94,7 @@ MME :
# TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
# max values = 999.999:65535
# maximum of 32 values, comma separated
PLMN = (
TAI_LIST = (
{MCC="208" ; MNC="95"; TAC = "1"; } # YOUR PLMN CONFIG HERE
);
};
@@ -123,9 +156,8 @@ P-GW =
);
};
#WARNING DNS ARE HARDCODED IN openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c:305
DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100"; # YOUR NETWORK CONFIG HERE
DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12"; # YOUR NETWORK CONFIG HERE
DEFAULT_DNS_IPV4_ADDRESS = "192.168.106.12"; # YOUR NETWORK CONFIG HERE
DEFAULT_DNS_SEC_IPV4_ADDRESS = "192.168.12.100"; # YOUR NETWORK CONFIG HERE
};
+6 -8
View File
@@ -34,8 +34,8 @@ MME :
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 32;
SCTP_OUTSTREAMS = 32;
SCTP_INSTREAMS = 8;
SCTP_OUTSTREAMS = 8;
};
# ------- S1AP definitions
@@ -61,9 +61,8 @@ MME :
# TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
# max values = 999.999:65535
# maximum of 32 values, comma separated
PLMN = (
{MCC="208" ; MNC="95"; TAC = "1"; }, # YOUR PLMN CONFIG HERE
{MCC="208" ; MNC="10"; TAC = "1"; } # YOUR PLMN CONFIG HERE
TAI_LIST = (
{MCC="208" ; MNC="95"; TAC = "1"; } # YOUR PLMN CONFIG HERE
);
};
@@ -124,9 +123,8 @@ P-GW =
);
};
#WARNING DNS ARE HARDCODED IN openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c:305
DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100"; # YOUR NETWORK CONFIG HERE
DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12"; # YOUR NETWORK CONFIG HERE
DEFAULT_DNS_IPV4_ADDRESS = "192.168.106.12"; # YOUR NETWORK CONFIG HERE
DEFAULT_DNS_SEC_IPV4_ADDRESS = "192.168.12.100"; # YOUR NETWORK CONFIG HERE
};
+104 -1
View File
@@ -6,7 +6,110 @@ mkdir -p $1
cd $1
shift
asn1c -gen-PER -fcompound-names $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
#if this script is called with only 2 arguments (so 1 here after the shift), it's for RRC
#(there may be a better way...)
if [ $# -eq 1 ]; then
#asn1c does not work well with extension groups, we need the following fix:
# replace [[ by '<name> SEQUENCE {'
# and ]] by '} OPTIONAL'
#<name> is ext<N> with N starting from 1 and incremented at each new [[ ]] just
#following another [[ ]]
#
#this is what the following C program does
echo generate asnfix.c
cat << EOF > asnfix.c
/* transforms:
* '[[' to 'name SEQUENCE {'
* ']]' to '} OPTIONAL'
* name is ext1, ext2, ..., for each [[ at the same level
* levels are delimited by { and }
* -- to end of line is a comment and unprocessed
* nested [[ ]] not handled
* { and } must be balanced
* [[ and ]] can be whatever, every combination is valid
*/
#include <stdio.h>
#include <stdlib.h>
void level(int toplevel)
{
int c;
int next_name = 1;
while (1) {
c = getchar();
next:
if (c == EOF) { if (toplevel) break; abort(); }
if (c == '-') {
c = getchar();
if (c != '-') { putchar('-'); goto next; }
putchar(c); putchar(c);
while (1) {
c = getchar(); if (c == EOF) abort();
putchar(c);
if (c == '\n') break;
}
continue;
}
if (c == '[') {
c = getchar();
if (c != '[') { putchar('['); goto next; }
printf("ext%d SEQUENCE {", next_name);
next_name++;
continue;
}
if (c == ']') {
c = getchar();
if (c != ']') { putchar(']'); goto next; }
printf("} OPTIONAL");
continue;
}
putchar(c);
if (c == '}') { if (toplevel) abort(); break; }
if (c == '{') level(0);
}
}
int main(void)
{
level(1);
fflush(stdout);
return 0;
}
EOF
echo compile asnfix.c
gcc -Wall -o asnfix asnfix.c
echo run asnfix on $1
./asnfix < $1 > fixed_grammar.asn
rm -f asnfix asnfix.c
echo done with asnfix
echo running asn1c
asn1c -gen-PER -fcompound-names fixed_grammar.asn 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
rm -f fixed_grammar.asn
echo asn1c done
else
asn1c -gen-PER -fcompound-names $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
fi
awk '
BEGIN {
+34
View File
@@ -1,5 +1,39 @@
#!/bin/bash
################################################################################
# OpenAirInterface
# Copyright(c) 1999 - 2015 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
#
################################################################################
# file init_nas_nos1
# brief loads the nasmesh module and sets up the radio bearers (used to provide ip interface without S1 interface)
# author Florian Kaltenberger
#
#######################################
load_module()
{
mod_name=${1##*/}
+61
View File
@@ -0,0 +1,61 @@
#!/bin/bash
################################################################################
# OpenAirInterface
# Copyright(c) 1999 - 2015 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
#
################################################################################
# file init_nas_nos1
# brief loads the nasmesh module and sets up the radio bearers (used to provide ip interface without S1 interface)
# author Florian Kaltenberger
#
#######################################
load_module() {
mod_name=${1##*/}
mod_name=${mod_name%.*}
if awk "/$mod_name/ {found=1 ;exit} END {if (found!=1) exit 1}" /proc/modules
then
echo "module $mod_name already loaded: I remove it first"
sudo rmmod $mod_name
fi
echo loading $mod_name
sudo insmod $1
}
load_module $OPENAIR_DIR/targets/bin/nasmesh.ko
if [ "$1" = "eNB" ]; then
echo "bring up oai0 interface for enb"
sudo ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
$OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.9 -r 1
else
if [ "$1" = "UE" ]; then
echo "bring up oai0 interface for UE"
sudo ifconfig oai0 10.0.1.9 netmask 255.255.255.0 broadcast 10.0.1.255
$OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.9 -t 10.0.1.1 -r 1
fi
fi
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
pid=$1
sleep_sec=0.5
if [ "$2" != "" ] ; then
sleep_sec=$2
fi
#declare -r cnt=$sleep_sec
OUTPUT_FILE="/tmp/mem_usage_${pid}_${sleep_sec}.csv"
echo "RSS(KB);PSS(KB);SHARED_CLEAN(KB);SHARED_DIRTY(KB);PRIVATE)KB)" >> $OUTPUT_FILE
echo "Mem usage for PID $pid with observation period of ${sleep_sec}"
while ps $pid >/dev/null
do
if [ -f /proc/$pid/smaps ]; then
rss=$(awk '/^Rss/ {i = i + $2} END {print i}' /proc/$pid/smaps)
pss=$(awk '/^Pss/ {i = i + $2 + 0.5} END {print i}' /proc/$pid/smaps)
sc=$(awk '/^Shared_Clean/ {i = i + $2} END {print i}' /proc/$pid/smaps)
sd=$(awk '/^Shared_Dirty/ {i = i + $2} END {print i}' /proc/$pid/smaps)
pc=$(awk '/^Private_Clean/ {i = i + $2} END {print i}' /proc/$pid/smaps)
pd=$(awk '/^Private_Dirty/ {i = i + $2} END {print i}' /proc/$pid/smaps)
echo "$cnt;$rss;$pss;$sc;$pc;$pd;" >> $OUTPUT_FILE
fi
sleep $sleep_sec
done
+70 -34
View File
@@ -39,6 +39,8 @@
################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
source $THIS_SCRIPT_PATH/build_helper
declare -i g_run_msc_gen=0
declare g_msc_dir="/tmp"
function help()
@@ -57,6 +59,7 @@ function help()
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
echo_error " -M, --target-dl-mcs mcs Downlink target MCS."
echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
echo_error " -s, --show-stdout Do not redirect stdout and stderr to file /tmp/lte_softmodem.stdout.txt."
echo_error " -S, --enable-missed-slot Continue execution in case of missed slot."
echo_error " -T, --target-ul-mcs mcs Uplink target MCS."
echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
@@ -68,13 +71,40 @@ function help()
}
function do_msc_gen()
{
cd $g_msc_dir
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py
sync
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
if [ x"$last_created_file" != x"$last_created_file2" ]; then
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
fi
fi
}
function control_c()
# run if user hits control-c
{
echo_warning "\nExiting by ctrl+c\n"
if [ $g_run_msc_gen -eq 1 ]; then
do_msc_gen
fi
exit $?
}
function main()
{
local -i run_gdb=0
local -i run_mscgen=0
local -i show_stdout=0
local exe_arguments=""
local MSC_DIR="/tmp"
local itti_dump_file=""
until [ -z "$1" ]
do
@@ -99,7 +129,7 @@ function main()
;;
-g | --gdb)
run_gdb=1
echo "setting GDB flag to: $GDB"
echo "setting GDB flag to: $run_gdb"
shift;
;;
-h | --help)
@@ -108,23 +138,23 @@ function main()
exit 0
;;
-K | --itti-dump-file)
ITTI_DUMP_FILE=$2
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_usrp_itti.log"
if [ "x$itti_dump_file" = "x" ]; then
itti_dump_file="/tmp/enb_s1_usrp_itti.log"
shift 1;
else
shift 2;
fi
echo "setting ITTI dump file to: $ITTI_DUMP_FILE"
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
echo "setting ITTI dump file to: $itti_dump_file"
exe_arguments="$exe_arguments -K $itti_dump_file"
;;
-m | --mscgen)
MSC_DIR=$2
g_msc_dir=$2
# can omit file name if last arg on the line
if [ -d "$MSC_DIR" ]; then
echo "setting mscgen log files to dir: $MSC_DIR"
run_mscgen=1
if [ -d "$g_msc_dir" ]; then
echo "setting mscgen log files to dir: $g_msc_dir"
g_run_msc_gen=1
shift 2;
else
echo_error "Mscgen log dir does not exist"
@@ -141,6 +171,11 @@ function main()
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
shift ;
;;
-s | --show-stdout)
echo "setting show stdout"
show_stdout=1
shift ;
;;
-S | --enable-missed-slot)
echo "setting continue even if missed slot"
exe_arguments="$exe_arguments -S"
@@ -151,14 +186,14 @@ function main()
exe_arguments="$exe_arguments -t $2"
shift 2;
;;
-W | ----wireshark-l2)
-W | --wireshark-l2)
echo "setting l2 pcap dump output"
exe_arguments="$exe_arguments -W"
shift ;
;;
-x | --xforms)
exe_arguments="$exe_arguments -d"
echo "setting xforms to: $XFORMS"
echo "setting xforms"
shift;
;;
*)
@@ -174,37 +209,38 @@ function main()
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
if [ ! -e $OPENAIR_DIR/targets/bin/lte-softmodem ]; then
echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/lte-softmodem executable"
if [ ! -e $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 ]; then
echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 executable"
fi
if [ $run_gdb -eq 0 ]; then
exec $OPENAIR_DIR/targets/bin/lte-softmodem `echo $exe_arguments` 2>&1 > /tmp/lte_softmodem.stdout.txt
# trap keyboard interrupt (control-c)
trap control_c SIGINT
if [ $show_stdout -eq 0 ]; then
echo_warning "stdout/sderr of lte-softmodem executable redirected to /tmp/lte_softmodem.stdout.txt"
exec $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 `echo $exe_arguments` 2>&1 > /tmp/lte_softmodem.stdout.txt
else
exec $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 `echo $exe_arguments`
fi
else
# trap keyboard interrupt (control-c) is done by gdb
touch ~/.gdb_lte_softmodem
chmod 777 ~/.gdb_lte_softmodem
echo "file $OPENAIR_DIR/targets/bin/lte-softmodem" > ~/.gdb_lte_softmodem
echo "file $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10" > ~/.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
if [ $show_stdout -eq 0 ]; then
echo_warning "stdout/sderr of lte-softmodem executable redirected to /tmp/gdb_lte_softmodem.stdout.txt"
gdb -n -x ~/.gdb_lte_softmodem 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt
else
gdb -n -x ~/.gdb_lte_softmodem
fi
if [ $g_run_msc_gen -eq 1 ]; then
do_msc_gen
fi
fi
if [ $run_mscgen -eq 1 ]; then
cd $MSC_DIR
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py --profile E_UTRAN
sync
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
if [ x"$last_created_file" != x"$last_created_file2" ]; then
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
fi
fi
fi
}
+29 -12
View File
@@ -57,9 +57,11 @@ function help()
echo_error " "
echo_error "Options:"
echo_error "Mandatory arguments to long options are mandatory for short options too."
echo_error " -a, --abstraction enable phy abstraction mode"
echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)"
echo_error " Default eNB config file if not set is $1"
echo_error " -g, --gdb Run with GDB."
echo_error " -l, --log-level set the global log level (8:trace, 7:debug, 6:info, 4:warn, 3:error). Note that the log configuration is eNB config file is ignored for oaisim."
echo_error " -h, --help Print this help."
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
@@ -84,17 +86,24 @@ function main()
local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB
local MSC_DIR="/tmp"
local abstraction_flag=0
until [ -z "$1" ]
do
case "$1" in
-c | -C | --config-file)
-a | --abstraction )
abstraction_flag=1
echo "enabling abstraction mode"
exe_arguments="$exe_arguments -a"
shift;
;;
-c | -C | --config-file)
CONFIG_FILE_ENB=$2
# may be relative path
if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
CONFIG_FILE_ENB=$(dirname $(readlink -f $0))/$CONFIG_FILE
echo "setting config file to: $CONFIG_FILE"
CONFIG_FILE_ACCESS_OK=1
config_FILE_ACCESS_OK=1
else
# may be absolute path
if [ -f $CONFIG_FILE_ENB ]; then
@@ -110,6 +119,11 @@ function main()
echo "setting GDB flag to: $GDB"
shift;
;;
-l | --log-level)
echo "setting the log level to $2"
exe_arguments="$exe_arguments -l $2"
shift 2;
;;
-h | --help)
help $DEFAULT_CONFIG_FILE_ENB
shift;
@@ -130,7 +144,6 @@ function main()
-m | --mscgen)
MSC_DIR=$2
# can omit file name if last arg on the line
if [ -d "$MSC_DIR" ]; then
echo "setting mscgen log files to dir: $MSC_DIR"
run_mscgen=1
@@ -140,16 +153,17 @@ function main()
exit -1
fi
;;
# -u | --num-ue )
-V | --vcd)
"setting gtk-wave output"
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
shift ;
;;
-W | ----wireshark-l2)
-W | --wireshark-l2)
echo "setting l2 pcap dump output"
exe_arguments="$exe_arguments -P wireshark"
shift 2;
shift 1;
;;
*)
echo "Unknown option $1"
@@ -185,8 +199,11 @@ function main()
# ue1 -> enb
$OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i1 -z0 -s 10.0.2.2 -t 10.0.2.1 -r 1
exe_arguments="$exe_arguments -s15 -AAWGN -b1 -u1"
if [ "$abstraction_flag" -eq "0" ] ; then
exe_arguments="$exe_arguments -s15 -AAWGN -b1 -u1"
else
exe_arguments="$exe_arguments -b1 -u1"
fi
cd $OPENAIR_DIR/targets/bin
@@ -194,13 +211,13 @@ function main()
if [ $run_mscgen -eq 1 ]; then
$SUDO rm -f /tmp/openair.msc.*
fi
if [ $run_gdb -eq 0 ]; then
exec $SUDO $OPENAIR_DIR/targets/bin/oaisim_nos1 $exe_arguments | tee /tmp/enb_ue_nos1.log.txt
exec $SUDO $OPENAIR_DIR/targets/bin/oaisim_nos1.Rel10 $exe_arguments | tee /tmp/enb_ue_nos1.log.txt
else
touch ~/.gdb_enb_ue_nos1
chmod 777 ~/.gdb_enb_ue_nos1
echo "file $OPENAIR_DIR/targets/bin/oaisim_nos1" > ~/.gdb_enb_ue_nos1
echo "file $OPENAIR_DIR/targets/bin/oaisim_nos1.Rel10" > ~/.gdb_enb_ue_nos1
echo "set args $exe_arguments" >> ~/.gdb_enb_ue_nos1
echo "run" >> ~/.gdb_enb_ue_nos1
cat ~/.gdb_enb_ue_nos1
+25 -17
View File
@@ -214,12 +214,12 @@ function main()
is_tun=`is_tun_interface $ENB_INTERFACE_NAME_FOR_S1_MME $ENB_INTERFACE_NAME_FOR_S1U`
# if [ $is_tun = "1" ]; then
# $SUDO openvpn --mktun --dev $ENB_INTERFACE_NAME_FOR_S1U;sync
# $SUDO openvpn --mktun --dev $ENB_INTERFACE_NAME_FOR_S1_MME;sync
# $SUDO ip -4 addr add $ENB_IPV4_ADDRESS_FOR_S1U/$ENB_IPV4_NETMASK_FOR_S1U dev $ENB_INTERFACE_NAME_FOR_S1U;sync
# $SUDO ip -4 addr add $ENB_IPV4_ADDRESS_FOR_S1_MME/$ENB_IPV4_NETMASK_FOR_S1_MME dev $ENB_INTERFACE_NAME_FOR_S1_MME;sync
# $SUDO ifconfig $ENB_INTERFACE_NAME_FOR_S1U up;sync
# $SUDO ifconfig $ENB_INTERFACE_NAME_FOR_S1_MME up;sync
# openvpn --mktun --dev $ENB_INTERFACE_NAME_FOR_S1U;sync
# openvpn --mktun --dev $ENB_INTERFACE_NAME_FOR_S1_MME;sync
# ip -4 addr add $ENB_IPV4_ADDRESS_FOR_S1U/$ENB_IPV4_NETMASK_FOR_S1U dev $ENB_INTERFACE_NAME_FOR_S1U;sync
# ip -4 addr add $ENB_IPV4_ADDRESS_FOR_S1_MME/$ENB_IPV4_NETMASK_FOR_S1_MME dev $ENB_INTERFACE_NAME_FOR_S1_MME;sync
# ifconfig $ENB_INTERFACE_NAME_FOR_S1U up;sync
# ifconfig $ENB_INTERFACE_NAME_FOR_S1_MME up;sync
# echo_success "Configured local eNB S1 tun interfaces"
# else
# echo_success "eNB S1 tun interfaces should be ethernet interfaces (no tunnels configured)"
@@ -228,21 +228,21 @@ function main()
##################################################
# LAUNCH eNB + UE executable
##################################################
$SUDO pkill oaisim
$SUDO rmmod ue_ip > /dev/null 2>&1
pkill oaisim
rmmod ue_ip > /dev/null 2>&1
echo_success "Bringup UE interface..."
$SUDO insmod $OPENAIR_DIR/targets/bin/ue_ip.ko
insmod $OPENAIR_DIR/targets/bin/ue_ip.ko
$SUDO ip route flush cache
ip route flush cache
# Check table 200 lte in /etc/iproute2/rt_tables
fgrep lte /etc/iproute2/rt_tables > /dev/null
if [ $? -ne 0 ]; then
$SUDO echo "200 lte " >> /etc/iproute2/rt_tables
bash -c echo "200 lte " >> /etc/iproute2/rt_tables
fi
$SUDO ip rule add fwmark 1 table lte
$SUDO ip route add default dev oip1 table lte
ip rule add fwmark 1 table lte
ip route add default dev oip1 table lte
exe_arguments="$exe_arguments -s15 -AAWGN -y1 -b1 -u1 -Q0"
@@ -250,19 +250,19 @@ function main()
if [ $run_mscgen -eq 1 ]; then
$SUDO rm -f /tmp/openair.msc.*
rm -f /tmp/openair.msc.*
fi
if [ $run_gdb -eq 0 ]; then
exec $SUDO $OPENAIR_DIR/targets/bin/oaisim $exe_arguments | tee /tmp/enb_ue_s1.log.txt
exec $OPENAIR_DIR/targets/bin/oaisim.Rel10 $exe_arguments | tee /tmp/enb_ue_s1.log.txt
else
touch ~/.gdb_enb_ue_s1
chmod 777 ~/.gdb_enb_ue_s1
echo "file $OPENAIR_DIR/targets/bin/oaisim" > ~/.gdb_enb_ue_s1
echo "file $OPENAIR_DIR/targets/bin/oaisim.Rel10" > ~/.gdb_enb_ue_s1
echo "set args $exe_arguments" >> ~/.gdb_enb_ue_s1
echo "run" >> ~/.gdb_enb_ue_s1
cat ~/.gdb_enb_ue_s1
$SUDO gdb -n -x ~/.gdb_enb_ue_s1
gdb -n -x ~/.gdb_enb_ue_s1
fi
if [ $run_mscgen -eq 1 ]; then
@@ -281,4 +281,12 @@ function main()
}
sudo echo
is_sudo=$?
if [[ "$is_sudo" -ne 0 ]]; then
echo_error "This script must be run by root or a sudo'er"
echo
exit 1
fi
main "$@"
+49 -29
View File
@@ -39,6 +39,8 @@
################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
source $THIS_SCRIPT_PATH/build_helper
declare -i g_run_msc_gen=0
declare g_msc_dir="/tmp"
set_openair_env
@@ -62,17 +64,39 @@ function help()
echo_error " 2 -> ASN1 XER printf on and ASN1 debug on"
}
function do_msc_gen()
{
cd $g_msc_dir
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py
sync
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
if [ x"$last_created_file" != x"$last_created_file2" ]; then
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
fi
fi
}
function control_c()
# run if user hits control-c
{
echo_warning "\nExiting by ctrl+c\n"
if [ $g_run_msc_gen -eq 1 ]; then
do_msc_gen
fi
exit $?
}
function main()
{
local -i run_gdb=0
local -i run_mscgen=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
local MSC_DIR="/tmp"
until [ -z "$1" ]
do
@@ -103,12 +127,10 @@ function main()
shift;
;;
-m | --mscgen)
MSC_DIR=$2
# can omit file name if last arg on the line
if [ -d "$MSC_DIR" ]; then
echo "setting mscgen log files to dir: $MSC_DIR"
run_mscgen=1
exe_arguments="-m $exe_arguments"
g_msc_dir=$2
if [ -d "$g_msc_dir" ]; then
echo "setting mscgen log files to dir: $g_msc_dir"
g_run_msc_gen=1
shift 2;
else
echo_error "Mscgen log dir does not exist"
@@ -133,47 +155,45 @@ function main()
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
if [ ! -e $OPENAIR_DIR/targets/bin/mme_gw ]; then
echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/mme_gw executable, have a look at the output of build_epc executable"
if [ ! -e $OPENAIR_DIR/targets/bin/mme_gw.Rel10 ]; then
echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/mme_gw.Rel10 executable, have a look at the output of build_epc executable"
fi
if [ $epc_local -eq 1 ]; then
epc_config_file="$OPENAIR_DIR/targets/bin/epc.local.enb.conf"
fi
if [ $run_mscgen -eq 1 ]; then
if [ $g_run_msc_gen -eq 1 ]; then
rm -f /tmp/openair.msc.*
fi
exe_arguments="-O $epc_config_file $exe_arguments"
if [ $run_gdb -eq 0 ]; then
$OPENAIR_DIR/targets/bin/mme_gw `echo $exe_arguments` 2>&1
# trap keyboard interrupt (control-c)
trap control_c SIGINT
$OPENAIR_DIR/targets/bin/mme_gw.Rel10 `echo $exe_arguments` 2>&1
else
# trap keyboard interrupt (control-c) is done by gdb
touch ~/.gdb_mme_gw
chmod 777 ~/.gdb_mme_gw
echo "file $OPENAIR_DIR/targets/bin/mme_gw" > ~/.gdb_mme_gw
echo "file $OPENAIR_DIR/targets/bin/mme_gw.Rel10" > ~/.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
gdb -n -x ~/.gdb_mme_gw
if [ $g_run_msc_gen -eq 1 ]; then
do_msc_gen
fi
fi
if [ $run_mscgen -eq 1 ]; then
cd $MSC_DIR
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py
sync
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
if [ x"$last_created_file" != x"$last_created_file2" ]; then
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
fi
fi
fi
}
sudo echo
is_sudo=$?
if [[ "$is_sudo" -ne 0 ]]; then
echo_error "This script must be run by root or a sudo'er"
echo
exit 1
fi
main "$@"
+21 -8
View File
@@ -23,11 +23,17 @@ xUnit_start() {
# \pre xUnit_start() must have been called before
# \param $1 classname
# \param $2 testcase name
# \param $3 testcase result
# \param $4 run index
xUnit_fail() {
class=$1
test_case=$2
result=$3
run_index=$4
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$1' name='$2' time='$time'><failure message='failed'/></testcase>"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML $xml"
xml="<testcase classname='$class' name='$test_case' run='$run_index' time='$time' RESULT='$result'></testcase>"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_FAILED=$((XUNIT_FAILED+1))
}
@@ -36,11 +42,17 @@ xUnit_fail() {
# \pre xUnit_start() must have been called before
# \param $1 classname
# \param $2 testcase name
# \param $3 testcase result
# \param $4 run index
xUnit_success() {
class=$1
test_case=$2
result=$3
run_index=$4
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$1' name='$2' time='$time' />"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML $xml"
xml="<testcase classname='$class' name='$test_case' run='$run_index' time='$time' RESULT='$result'></testcase>"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_SUCCESS=$((XUNIT_SUCCESS+1))
}
@@ -48,17 +60,18 @@ xUnit_success() {
# This functions writes out the test report.
# \param $1 filename
xUnit_write() {
filename=$1
tests=$((XUNIT_FAILED+XUNIT_SUCCESS))
timestamp=$(date --iso-8601=seconds)
time=$(echo "$currtime - $XUNIT_TESTSUITE_START" | bc -l)
xml_header="<testsuites><testsuite errors='0' failures='$XUNIT_FAILED' hostname='$(hostname)' name='OAI' skipped='0' tests='$tests' time='$time' timestamp='$timestamp'>"
echo $xml_header > $1
echo $XUNIT_TESTCASES_XML >> $1
echo "</testsuite></testsuites>" >> $1
echo $xml_header > $filename
echo -e $XUNIT_TESTCASES_XML >> $filename
echo "</testsuite></testsuites>" >> $filename
XUNIT_TESTSUITE_START=0
XUNIT_START=0
XUNIT_TOTAL=0
XUNIT_FAILED=0
XUNIT_SUCCESS=0
XUNIT_TESTCASES_XML=""
}
}