git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4021 818b1a75-f10b-46b9-bf7c-635c3b92a50f
187 lines
4.8 KiB
Bash
Executable File
187 lines
4.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
###########################################################
|
|
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
|
declare -x OPENAIR_DIR="/usr/local/src/TEST2"
|
|
declare -x OPENAIR1_DIR="/usr/local/src/TEST2/openair1"
|
|
declare -x OPENAIR2_DIR="/usr/local/src/TEST2/openair2"
|
|
declare -x OPENAIR3_DIR="/usr/local/src/TEST2/openair3"
|
|
declare -x OPENAIR_TARGETS="/usr/local/src/TEST2/targets"
|
|
###########################################################
|
|
|
|
black='\E[30m'
|
|
red='\E[31m'
|
|
green='\E[32m'
|
|
yellow='\E[33m'
|
|
blue='\E[34m'
|
|
magenta='\E[35m'
|
|
cyan='\E[36m'
|
|
white='\E[37m'
|
|
|
|
ROOT_UID=0
|
|
E_NOTROOT=67
|
|
|
|
trim ()
|
|
{
|
|
echo "$1" | sed -n '1h;1!H;${;g;s/^[ \t]*//g;s/[ \t]*$//g;p;}'
|
|
}
|
|
|
|
|
|
cecho() # Color-echo
|
|
# arg1 = message
|
|
# arg2 = color
|
|
{
|
|
local default_msg="No Message."
|
|
message=${1:-$default_msg}
|
|
color=${2:-$black}
|
|
echo -e "$color"
|
|
echo -n "$message"
|
|
tput sgr0
|
|
echo
|
|
return
|
|
}
|
|
|
|
echo_error() {
|
|
local my_string=""
|
|
until [ -z "$1" ]
|
|
do
|
|
my_string="$my_string$1"
|
|
shift
|
|
done
|
|
cecho "$my_string" $red
|
|
}
|
|
|
|
echo_warning() {
|
|
local my_string=""
|
|
until [ -z "$1" ]
|
|
do
|
|
my_string="$my_string$1"
|
|
shift
|
|
done
|
|
cecho "$my_string" $yellow
|
|
}
|
|
|
|
echo_success() {
|
|
local my_string=""
|
|
until [ -z "$1" ]
|
|
do
|
|
my_string="$my_string$1"
|
|
shift
|
|
done
|
|
cecho "$my_string" $green
|
|
}
|
|
|
|
bash_exec() {
|
|
output=$($1 2>&1)
|
|
result=$?
|
|
if [ $result -eq 0 ]
|
|
then
|
|
echo_success "$1"
|
|
else
|
|
echo_error "$1: $output"
|
|
fi
|
|
}
|
|
|
|
|
|
wait_process_started () {
|
|
if [ -z "$1" ]
|
|
then
|
|
echo_error "WAITING FOR PROCESS START: NO PROCESS"
|
|
return 1
|
|
fi
|
|
ps -C $1 > /dev/null 2>&1
|
|
while [ $? -ne 0 ]; do
|
|
echo_warning "WAITING FOR $1 START"
|
|
sleep 2
|
|
ps -C $1 > /dev/null 2>&1
|
|
done
|
|
echo_success "PROCESS $1 STARTED"
|
|
return 0
|
|
}
|
|
|
|
is_process_started () {
|
|
if [ -z "$1" ]
|
|
then
|
|
echo_error "WAITING FOR PROCESS START: NO PROCESS"
|
|
return 1
|
|
fi
|
|
ps -C $1 > /dev/null 2>&1
|
|
if [ $? -ne 0 ]
|
|
then
|
|
echo_success "PROCESS $1 NOT STARTED"
|
|
return 1
|
|
fi
|
|
echo_success "PROCESS $1 STARTED"
|
|
return 0
|
|
}
|
|
|
|
set_openair() {
|
|
path=`pwd`
|
|
declare -i length_path
|
|
declare -i index
|
|
length_path=${#path}
|
|
|
|
index=`echo $path | grep -b -o 'targets' | cut -d: -f1`
|
|
#echo ${path%$token*}
|
|
if [[ $index -lt $length_path && index -gt 0 ]]
|
|
then
|
|
declare -x OPENAIR_DIR
|
|
index=`expr $index - 1`
|
|
openair_path=`echo $path | cut -c1-$index`
|
|
#openair_path=`echo ${path:0:$index}`
|
|
export OPENAIR_DIR=$openair_path
|
|
export OPENAIR1_DIR=$openair_path/openair1
|
|
export OPENAIR2_DIR=$openair_path/openair2
|
|
export OPENAIR3_DIR=$openair_path/openair3
|
|
export OPENAIR_TARGETS=$openair_path/targets
|
|
return 0
|
|
fi
|
|
return -1
|
|
}
|
|
|
|
set_openair
|
|
echo "Bringup UE interface"
|
|
pkill oaisim
|
|
/sbin/rmmod oai_nw_drv
|
|
make naslite_netlink_ether oaisim
|
|
/sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/LITE/oai_nw_drv.ko oai_nw_drv_IMEI=3,9,1,8,3,6,7,3,0,5,0,0,0,0
|
|
|
|
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
|
|
#route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
|
|
ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
|
|
ip route add 239.0.0.160/28 dev eth1
|
|
ip link set oai0 up
|
|
sleep 1
|
|
ifconfig oai0 10.0.1.9 netmask 255.255.255.0 broadcast 10.0.1.255
|
|
sleep 1
|
|
ip addr add dev oai0 2001:7::9/64
|
|
# -a -> Add RB
|
|
# -d -> Delete RB
|
|
# -cxx -> lcr
|
|
# -ixx -> instance
|
|
# -zxx -> dscp
|
|
# -fxxx -> classref (uid of a classifier entry) if fn is used , fn is used for send classifier and n+1 for receive classifier
|
|
# -sxxx -> source ipv4 address
|
|
# -txxx -> destination ipv4 address
|
|
# -x -> source ipv6 address
|
|
# -y -> destination ipv6 address
|
|
# -r -> radio bearer id
|
|
#$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -f0 -i0 -z0 -x 0::0/128 -y 0::0/128 -r 3
|
|
#$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -f2 -i0 -z0 -s 10.0.1.6/32 -t 10.0.0.0/32 -r 3
|
|
#$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -f4 -i0 -z64 -x 0::0/128 -y 0::0/128 -r 3
|
|
#$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -f6 -i0 -z64 -s 0.0.0.0/32 -t 0.0.0.0/32 -r 3
|
|
|
|
ip -6 r d default via 2001:7::1 dev oai0
|
|
ip -6 r a default via 2001:7::1 dev oai0
|
|
|
|
bash_exec "/sbin/iptables -A OUTPUT -t mangle -o oai0 -j MARK --set-mark 3"
|
|
|
|
echo "to see UE stats, pleasae run : watch_ue script"
|
|
echo "$OPENAIR_TARGETS/SIMU/USER/oaisim -b0 -M1 -p3 -g1 -Pwireshark -l7"
|
|
pkill oaisim
|
|
# nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -l3 -b0 -M2 -p3 -g1 -m18 -V -Pwireshark -Deth0 > /tmp/ue.txt 2>&1
|
|
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5431 -l5 -b0 -u1 -M1 -p3 -g1 -Pwireshark -Deth1 > /tmp/ue.txt
|
|
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -l3 -b0 -M2 -p3 -g1 -m18 -Deth0
|
|
echo "End"
|
|
|