V0 to be tested
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7140 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Executable
+146
@@ -0,0 +1,146 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) 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 start_enb_ue_virt_s1
|
||||
# brief
|
||||
# author Lionel Gauthier
|
||||
# company Eurecom
|
||||
# email: lionel.gauthier@eurecom.fr
|
||||
###########################################
|
||||
# INPUT OF THIS SCRIPT:
|
||||
# THE DIRECTORY WHERE ARE LOCATED THE CONFIGURATION FILES
|
||||
#########################################
|
||||
# This script start ENB+UE (all in one executable, on one host)
|
||||
# MME+SP-GW executable have to be launched by your own (run_hss, run_epc) before this script is invoked.
|
||||
#
|
||||
|
||||
|
||||
|
||||
###########################################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
. $THIS_SCRIPT_PATH/build_helper
|
||||
###########################################################
|
||||
|
||||
function trim2()
|
||||
{
|
||||
local var=$@
|
||||
var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters
|
||||
var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters
|
||||
echo -n "$var"
|
||||
}
|
||||
|
||||
function is_tun_interface()
|
||||
{
|
||||
my_bool=1
|
||||
for var in "$@"
|
||||
do
|
||||
if [ "a$var" == "a" ]; then
|
||||
echo "0";
|
||||
return;
|
||||
fi
|
||||
if [[ "$var" != *tun* ]]; then
|
||||
echo "0";
|
||||
return;
|
||||
fi
|
||||
done
|
||||
echo "$my_bool"
|
||||
}
|
||||
|
||||
# $1 is enb_config file
|
||||
function main()
|
||||
{
|
||||
set_openair_env
|
||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||
|
||||
local CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
|
||||
|
||||
|
||||
#######################################################
|
||||
# SOURCE CONFIG FILE
|
||||
#######################################################
|
||||
rm -f /tmp/source.txt
|
||||
VARIABLES="
|
||||
ENB_INTERFACE_NAME_FOR_S1_MME\|\
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME\|\
|
||||
ENB_INTERFACE_NAME_FOR_S1U\|\
|
||||
ENB_IPV4_ADDRESS_FOR_S1U"
|
||||
|
||||
VARIABLES=$(echo $VARIABLES | sed -e 's/\\r//g')
|
||||
VARIABLES=$(echo $VARIABLES | tr -d ' ')
|
||||
cat $CONFIG_FILE_ENB | grep -w "$VARIABLES"| tr -d " " | tr -d ";" > /tmp/source.txt
|
||||
source /tmp/source.txt
|
||||
|
||||
declare ENB_IPV4_NETMASK_FOR_S1_MME=$( echo $ENB_IPV4_ADDRESS_FOR_S1_MME | cut -f2 -d '/')
|
||||
declare ENB_IPV4_NETMASK_FOR_S1U=$( echo $ENB_IPV4_ADDRESS_FOR_S1U | cut -f2 -d '/')
|
||||
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME=$( echo $ENB_IPV4_ADDRESS_FOR_S1_MME | cut -f1 -d '/')
|
||||
ENB_IPV4_ADDRESS_FOR_S1U=$( echo $ENB_IPV4_ADDRESS_FOR_S1U | cut -f1 -d '/')
|
||||
|
||||
|
||||
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
|
||||
# echo_success "Configured local eNB S1 tun interfaces"
|
||||
# else
|
||||
# echo_success "eNB S1 tun interfaces should be ethernet interfaces (no tunnels configured)"
|
||||
# fi
|
||||
|
||||
##################################################
|
||||
# LAUNCH eNB + UE executable
|
||||
##################################################
|
||||
$SUDO pkill oaisim
|
||||
$SUDO rmmod ue_ip > /dev/null 2>&1
|
||||
|
||||
echo_success "Bringup UE interface..."
|
||||
$SUDO insmod $OPENAIR_DIR/targets/bin/ue_ip.ko
|
||||
|
||||
$SUDO 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
|
||||
fi
|
||||
$SUDO ip rule add fwmark 5 table lte
|
||||
$SUDO ip route add default dev oip1 table lte
|
||||
|
||||
|
||||
gdb --args $OPENAIR_DIR/targets/bin/oaisim \
|
||||
-u1 -l9 \
|
||||
-K itti_enb_ue_s1.log \
|
||||
--enb-conf $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf | tee stdout_enb_ue_s1.log
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user