Commit a56366cd authored by Florian Kaltenberger's avatar Florian Kaltenberger

moving project MEDIEVAL to extras

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7402 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 81b9b8a4
This diff is collapsed.
all: oaisim naslite_netlink_ether
userclean: clean oaisim naslite_netlink_ether
oaisim:
(cd $(OPENAIR_TARGETS)/SIMU/USER && $(MAKE) NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 Rel10=1)
naslite_netlink_ether:
(cd $(OPENAIR2_DIR) && $(MAKE) naslite_netlink_ether.ko)
(cd $(OPENAIR2_DIR)/NAS/DRIVER/LITE/RB_TOOL/ && $(MAKE))
clean:
(cd $(OPENAIR_TARGETS)/SIMU/USER && $(MAKE) clean)
(cd $(OPENAIR2_DIR)/NAS/DRIVER/LITE && $(MAKE) clean)
(cd $(OPENAIR_TARGETS)/SIMU/USER && make clean)
(cd $(OPENAIR_TARGETS)/SIMU/USER && make cleanasn1)
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim
wait_process_ended oaisim
sleep 2
ip link set oai0 down
/sbin/rmmod oai_nw_drv
exit $?
}
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
}
trap control_c SIGINT
set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bringup eNB interface"
pkill oaisim
pkill oaisim
/sbin/rmmod oai_nw_drv
echo "REMOVING MULTICAST ROUTING RULE"
ip route del 239.0.0.160/28 dev eth3
#sudo make naslite_netlink_ether oaisim
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,6,2,0,0,0,0,0,0
sleep 1
ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
macchanger oai0 -m 90:f6:52:0c:60:aa
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
echo " ADDING MULTICAST ROUTING RULE"
ip route add 239.0.0.160/28 dev eth3
rm -f /tmp/lte_enb.log
nice --adjustment=-10 /usr/local/src/trunk/targets/SIMU/USER/oaisim -E 1234 -u0 -M0 -p2 -g1 -l3 > /dev/null 2>&1 &
#gdb --args /usr/local/src/trunk/targets/SIMU/USER/oaisim -E 1234 -u0 -M0 -p2 -g1 -l7
wait_process_started oaisim
sleep 3
ip link set oai0 up
sleep 1
echo "CONFIGURING OAI INTERFACE"
ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:1::1/64
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f0 -z0 -x 0::0/128 -y 2001:1::3/128 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f2 -z0 -s 10.0.1.1/32 -t 10.0.1.3/32 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f4 -z64 -x 0::0/128 -y 2001:1::3/128 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f6 -z64 -x 0::0/128 -y FF02::0/16 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f8 -z64 -s 0.0.0.0/32 -t 10.0.1.3/24 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f10 -z64 -s 0.0.0.0/32 -t 10.0.1.255/32 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f12 -z64 -s 0.0.0.0/32 -t 224.0.0.0/8 -r 3"
echo " Enabling ping broadcast"
bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
echo " Enabling ipv4 forwarding.."
bash_exec "sysctl -w net.ipv4.ip_forward=1"
assert "`sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
echo " Enabling ipv4 forwarding.."
bash_exec "sysctl -w net.ipv4.conf.all.forwarding=1"
assert "`sysctl -n net.ipv4.conf.all.forwarding` -eq 1" $LINENO
echo " Enabling ipv6 forwarding.."
bash_exec "sysctl -w net.ipv6.conf.all.forwarding=1"
assert "`sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
while true; do sleep 10000; done
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim
wait_process_ended oaisim
sleep 2
ip link set oai0 down
/sbin/rmmod oai_nw_drv
exit $?
}
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
}
trap control_c SIGINT
set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bringup eNB interface"
pkill oaisim
pkill oaisim
/sbin/rmmod oai_nw_drv
echo "REMOVING MULTICAST ROUTING RULE"
ip route del 239.0.0.160/28 dev eth3
#sudo make naslite_netlink_ether oaisim
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,6,2,0,0,0,0,0,0
sleep 1
ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
macchanger oai0 -m 90:f6:52:0c:60:aa
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
echo " ADDING MULTICAST ROUTING RULE"
ip route add 239.0.0.160/28 dev eth3
rm -f /tmp/lte_enb.log
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -u0 -M0 -p3 -g1 -l7 > /dev/null 2>&1 &
#nice -10 gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -u0 -M0 -p3 -g1 -l3
wait_process_started oaisim
sleep 3
ip link set oai0 up
sleep 1
echo "CONFIGURING OAI INTERFACE"
ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:1::1/64
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f0 -z0 -x 0::0/128 -y 2001:1::3/128 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f2 -z0 -s 10.0.1.1/32 -t 10.0.1.3/32 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f4 -z64 -x 0::0/128 -y 2001:1::3/128 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f6 -z64 -x 0::0/128 -y FF02::0/16 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f8 -z64 -s 0.0.0.0/32 -t 10.0.1.3/24 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f10 -z64 -s 0.0.0.0/32 -t 10.0.1.255/32 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c0 -i0 -f12 -z64 -s 0.0.0.0/32 -t 224.0.0.0/8 -r 3"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f14 -z0 -x 0::0/128 -y 2001:1::6/128 -r 14"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f16 -z0 -s 10.0.1.1/32 -t 10.0.1.6/32 -r 14"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f18 -z64 -x 0::0/128 -y 2001:1::6/128 -r 14"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f20 -z64 -x 0::0/128 -y FF02::0/16 -r 14"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f22 -z64 -s 0.0.0.0/32 -t 10.0.1.6/24 -r 14"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f24 -z64 -s 0.0.0.0/32 -t 10.0.1.255/32 -r 14"
bash_exec "$OPENAIR2_DIR/NAS/DRIVER/LITE/RB_TOOL/rb_tool -a -c1 -i0 -f26 -z64 -s 0.0.0.0/32 -t 224.0.0.0/8 -r 14"
echo " Enabling ping broadcast"
bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
echo " Enabling ipv4 forwarding.."
bash_exec "sysctl -w net.ipv4.ip_forward=1"
assert "`sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
echo " Enabling ipv4 forwarding.."
bash_exec "sysctl -w net.ipv4.conf.all.forwarding=1"
assert "`sysctl -n net.ipv4.conf.all.forwarding` -eq 1" $LINENO
echo " Enabling ipv6 forwarding.."
bash_exec "sysctl -w net.ipv6.conf.all.forwarding=1"
assert "`sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
while true; do sleep 10000; done
echo "End"
This diff is collapsed.
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim
wait_process_ended oaisim
sleep 2
ip link set oai0 down
/sbin/rmmod oai_nw_drv
exit $?
}
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
}
trap control_c SIGINT
set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
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,2,0,0,0,0
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
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.3 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:1::3/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.3/32 -t 10.0.1.1/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
echo " Enabling ping broadcast"
bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p2 -g1 -l3 > /dev/null 2>&1
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p2 -g1 -l3
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim
wait_process_ended oaisim
sleep 2
ip link set oai0 down
/sbin/rmmod oai_nw_drv
exit $?
}
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
}
trap control_c SIGINT
set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
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,2,0,0,0,0
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
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.3 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:1::3/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.3/32 -t 10.0.1.1/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
echo " Enabling ping broadcast"
bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p3 -g1 -l3 > /dev/null 2>&1
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p3 -g1 -l3
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim
wait_process_ended oaisim
sleep 2
ip link set oai0 down
/sbin/rmmod oai_nw_drv
exit $?
}
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
}
trap control_c SIGINT
set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
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 eth2
ip link set oai0 up
sleep 1
ifconfig oai0 10.0.1.6 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:1::6/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
echo " Enabling ping broadcast"
bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -b0 -M1 -p2 -g1 -l3 > /dev/null 2>&1
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -b0 -M1 -p2 -g1 -l3
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim
wait_process_ended oaisim
sleep 2
ip link set oai0 down
/sbin/rmmod oai_nw_drv
exit $?
}
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
}
trap control_c SIGINT
set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
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 eth2
ip link set oai0 up
sleep 1
ifconfig oai0 10.0.1.6 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:1::6/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
echo " Enabling ping broadcast"
bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -b0 -M2 -p3 -g1 -l3 > /dev/null 2>&1
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -b0 -M2 -p3 -g1 -l3
echo "End"
#!/bin/bash
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
declare -x OPENAIR_DIR="/usr/local/src/trunk"
declare -x OPENAIR1_DIR="/usr/local/src/trunk/openair1"
declare -x OPENAIR2_DIR="/usr/local/src/trunk/openair2"
declare -x OPENAIR3_DIR="/usr/local/src/trunk/openair3"
declare -x OPENAIR_TARGETS="/usr/local/src/trunk/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 eth0
ip link set oai0 up
sleep 1
ifconfig oai0 10.0.1.7 netmask 255.255.255.0 broadcast 10.0.1.255
sleep 1
ip addr add dev oai0 2001:7::7/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 -E 5432 -l7 -b0 -M2 -p3 -g1 -Deth0"
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 5432 -l7 -b0 -u1 -M2 -p3 -g1 -Pwireshark -Deth0 > /tmp/ue.txt
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 5432 -l3 -b0 -M2 -p3 -g1 -m18 -Deth0
echo "End"
#!/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"
#! /bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim_eNB
wait_process_ended oaisim_eNB
pkill cell_rrm
sleep 1
cp /tmp/log_rrm ./log_rrm.txt
cp /tmp/log_oaiENB ./log_oaiENB.txt
cp /tmp/log_lteralenb ./log_lteralenb.txt
sleep 1
ip link set oai0 down
/sbin/rmmod nascellrg
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up eNB interface"
pkill LTE_RAL_ENB
pkill oaisim_eNB
pkill oaisim_eNB
pkill cell_rrm
/sbin/rmmod nascellrg
echo "REMOVING MULTICAST ROUTING RULE"
ip route del 239.0.0.160/28 dev eth1
#sudo make naslite_netlink_ether oaisim
#make naslite_netlink_ether oaisim
/sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASRG/nascellrg.ko
echo "eNB interface network driver started"
sleep 1
echo " Configuring ipv6 dad.."
#sysctl -w net.ipv6.conf.default.dad_transmits=0
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
echo " Enabling ipv6 forwarding.."
#sysctl -w net.ipv6.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
#ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
#macchanger oai0 -m 90:f6:52:0c:60:aa
#sleep 3
ip link set oai0 up
sleep 1
echo "CONFIGURING eNB INTERFACE"
ifconfig oai0 10.0.1.3 netmask 255.255.255.0 broadcast 10.0.1.255
echo "eNB interface network driver IPv4 address configured"
sleep 1
ip addr add dev oai0 2001:660:382:14::1/64
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
echo " ADDING MULTICAST ROUTING RULE"
ip route add 239.0.0.160/28 dev eth1
#rm -f /tmp/lte_enb.log
#rm -f rrm_log.txt
sleep 1
echo "Starting RRM module"
exec $OPENAIR_TARGETS/SIMU/USER/cell_rrm > /tmp/log_rrm 2>&1 &
sleep 2
echo "Starting OAI Access Stratum ..."
#Activate next line to start without MIH-LTE-SAP
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6
#Activate next line to start with MIH-LTE-SAP
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6 > /tmp/log_oaiENB 2>&1 &
#Next lines are draft tentative, do not activate
#$OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6 > /tmp/log_oaiENB 2>&1 &
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6
#$OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6
#sudo nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -l6
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1234 -u0 -b1 -M0 -p2 -l6 > /dev/null 2>&1 &log_oaiENB
#gdb --args /usr/local/src/trunk/targets/SIMU/USER/oaisim -E 1234 -u0 -M0 -p2 -g1 -l7
wait_process_started oaisim_eNB
#Activate next line to start with MIH-LTE-SAP
sleep 4
$OPENAIR3_DIR/RAL-LTE/LTE_RAL_ENB/LTE_RAL_ENB > /tmp/log_lteralenb 2>&1 &
#echo " Enabling ping broadcast"
#bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.ip_forward=1
#assert "`sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv4.conf.all.forwarding` -eq 1" $LINENO
#while true; do sleep 10000; done
echo "End"
#! /bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim_eNB
wait_process_ended oaisim_eNB
pkill cell_rrm
sleep 1
cp /tmp/log_rrm ./log_rrm.txt
cp /tmp/log_oaiENB ./log_oaiENB.txt
cp /tmp/log_lteralenb ./log_lteralenb.txt
sleep 1
ip link set oai0 down
/sbin/rmmod nascellrg
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up eNB interface"
pkill LTE_RAL_ENB
pkill oaisim_eNB
pkill oaisim_eNB
pkill cell_rrm
/sbin/rmmod nascellrg
echo "REMOVING MULTICAST ROUTING RULE"
ip route del 239.0.0.160/28 dev eth3
#sudo make naslite_netlink_ether oaisim
#make naslite_netlink_ether oaisim
/sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASRG/nascellrg.ko
echo "eNB interface network driver started"
sleep 1
echo " Configuring ipv6 dad.."
#sysctl -w net.ipv6.conf.default.dad_transmits=0
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
echo " Enabling ipv6 forwarding.."
#sysctl -w net.ipv6.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
#ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
#macchanger oai0 -m 90:f6:52:0c:60:aa
#sleep 3
ip link set oai0 up
sleep 1
echo "CONFIGURING eNB INTERFACE"
ifconfig oai0 10.0.1.3 netmask 255.255.255.0 broadcast 10.0.1.255
echo "eNB interface network driver IPv4 address configured"
sleep 1
ip addr add dev oai0 2001:660:382:14::1/64
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
echo " ADDING MULTICAST ROUTING RULE"
ip route add 239.0.0.160/28 dev eth3
#rm -f /tmp/lte_enb.log
#rm -f rrm_log.txt
sleep 1
echo "Starting RRM module"
exec $OPENAIR_TARGETS/SIMU/USER/cell_rrm > /tmp/log_rrm 2>&1 &
sleep 2
echo "Starting OAI Access Stratum ..."
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6 > /tmp/log_oaiENB 2>&1 &
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g2 -l6
#$OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6
#sudo nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -l6
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1234 -u0 -b1 -M0 -p2 -l6 > /dev/null 2>&1 &log_oaiENB
#gdb --args /usr/local/src/trunk/targets/SIMU/USER/oaisim -E 1234 -u0 -M0 -p2 -g1 -l7
wait_process_started oaisim_eNB
#echo " Enabling ping broadcast"
#bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.ip_forward=1
#assert "`sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv4.conf.all.forwarding` -eq 1" $LINENO
#Activate next line to start with MIH-LTE-SAP
sleep 4
$OPENAIR3_DIR/RAL-LTE/LTE_RAL_ENB/LTE_RAL_ENB > /tmp/log_lteralenb 2>&1 &
#while true; do sleep 10000; done
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill LTE_RAL_UE
wait_process_ended LTE_RAL_UE
pkill oaisim_UE
wait_process_ended oaisim_UE
sleep 1
cp /tmp/log_oaiUE ./log_oaiUE.txt
cp /tmp/log_lteralue ./log_lteralue.txt
sleep 1
ip link set oai0 down
/sbin/rmmod -w nascellmt
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up UE interface"
pkill oaisim_UE
/sbin/rmmod -w nascellmt
ip route del 239.0.0.160/28 dev eth1
#make oaisim rrc_cellular=1 UE_flag=1
/sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASMT/nascellmt.ko nas_IMEI=3,5,6,0,1,4,9,1,5,0,0,0,0,0
#sudo $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/start_mt_cellular
echo "UE interface network driver started"
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
## 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
echo "UE interface network driver up"
sleep 1
ifconfig oai0 10.0.1.2 netmask 255.255.255.0 broadcast 10.0.1.255
echo "UE interface network driver IPv4 address configured"
sleep 1
## ip addr add dev oai0 2001:660:382:14:235:60ff:fe14:9150/64
ip addr add dev oai0 2001:660:382:14:235:60ff:fe14:9150/64
##
#echo " Enabling ping broadcast"
#sudo bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sudo sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
# ** Next lines start the Access Stratum
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1234 -u1 -b0 -M1 -p2 -l6 > /dev/null 2>&1
echo "Starting OAI Access Stratum ..."
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -g2 -l6 > /tmp/log_oaiUE 2>&1 &
#$OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -g1 -l6
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -g1 -l6
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p2 -g1 -l3
# ** Next lines start the RAL
wait_process_started oaisim_UE
sleep 4
$OPENAIR3_DIR/RAL-LTE/LTE_RAL_UE/LTE_RAL_UE > /tmp/log_lteralue 2>&1 &
wait_process_started LTE_RAL_UE
# ** Next lines start the gioctl
#wait_process_started oaisim_UE
#sleep 7
#$OPENAIR2_DIR/NAS/DRIVER/CELLULAR/CTL_TOOL/gioctl cx add 0 5
echo "End"
#! /bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim_eNB
wait_process_ended oaisim_eNB
pkill cell_rrm
sleep 1
cp /tmp/log_rrm ./log_rrm.txt
cp /tmp/log_oaiENB ./log_oaiENB.txt
sleep 1
sudo ip link set oai0 down
sudo /sbin/rmmod nascellrg
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up eNB interface"
pkill oaisim_eNB
pkill oaisim_eNB
pkill cell_rrm
sudo /sbin/rmmod nascellrg
#echo "REMOVING MULTICAST ROUTING RULE"
#ip route del 239.0.0.160/28 dev eth3
#sudo make naslite_netlink_ether oaisim
#make naslite_netlink_ether oaisim
sudo /sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASRG/nascellrg.ko
echo "eNB interface network driver started"
sleep 1
echo " Configuring ipv6 dad.."
sudo sysctl -w net.ipv6.conf.default.dad_transmits=0
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
echo " Enabling ipv6 forwarding.."
sudo sysctl -w net.ipv6.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
#ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
#macchanger oai0 -m 90:f6:52:0c:60:aa
#sleep 3
sudo ip link set oai0 up
sleep 1
echo "CONFIGURING eNB INTERFACE"
sudo ifconfig oai0 10.0.1.3 netmask 255.255.255.0 broadcast 10.0.1.255
echo "eNB interface network driver IPv4 address configured"
sleep 1
sudo ip addr add dev oai0 2001:660:382:14::1/64
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
#echo " ADDING MULTICAST ROUTING RULE"
#ip route add 239.0.0.160/28 dev eth3
#rm -f /tmp/lte_enb.log
#rm -f rrm_log.txt
sleep 1
echo "Starting RRM module"
exec $OPENAIR_TARGETS/SIMU/USER/cell_rrm > /tmp/log_rrm 2>&1 &
sleep 2
echo "Starting OAI Access Stratum ..."
$OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -l6 > /tmp/log_oaiENB 2>&1 &
#$OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -l6
#sudo nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -l6
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1234 -u0 -b1 -M0 -p2 -l6 > /dev/null 2>&1 &log_oaiENB
#gdb --args /usr/local/src/trunk/targets/SIMU/USER/oaisim -E 1234 -u0 -M0 -p2 -g1 -l7
#echo " Enabling ping broadcast"
#bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.ip_forward=1
#assert "`sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv4.conf.all.forwarding` -eq 1" $LINENO
# ** Next lines start the RAL
wait_process_started oaisim_eNB
sleep 4
$OPENAIR3_DIR/RAL-LTE/LTE_RAL_ENB/LTE_RAL_ENB
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
sudo pkill oaisim_UE
wait_process_ended oaisim_UE
sleep 1
cp /tmp/log_oaiUE ./log_oaiUE.txt
sleep 1
sudo ip link set oai0 down
sudo /sbin/rmmod -w nascellmt
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up UE interface"
# ** Next lines clean remaining processes
pkill oaisim_UE
sudo /sbin/rmmod -w nascellmt
#make oaisim rrc_cellular=1 UE_flag=1 NAS=1
# ** Next lines start the device driver
sudo /sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASMT/nascellmt.ko nas_IMEI=3,5,6,0,1,4,9,1,5,0,0,0,0,0
#sudo $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/start_mt_cellular
echo "UE interface network driver started"
# ** Next lines configure the device driver
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
## ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
## ip route add 239.0.0.160/28 dev eth1
sudo ip link set oai0 up
echo "UE interface network driver up"
sleep 1
sudo ifconfig oai0 10.0.1.2 netmask 255.255.255.0 broadcast 10.0.1.255
echo "UE interface network driver IPv4 address configured"
sleep 1
## ip addr add dev oai0 2001:1::3/64
##
#echo " Enabling ping broadcast"
#sudo bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sudo sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
# ** Next lines start the Access Stratum
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1234 -u1 -b0 -M1 -p2 -l6 > /dev/null 2>&1
echo "Starting OAI Access Stratum ..."
$OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -l6 > /tmp/log_oaiUE 2>&1 &
#$OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -l6
#sudo nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -l6 &
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p2 -g1 -l3
# ** Next lines start the RAL
wait_process_started oaisim_UE
sleep 4
$OPENAIR3_DIR/RAL-LTE/LTE_RAL_UE/LTE_RAL_UE
# ** Next lines start the gioctl
#wait_process_started oaisim_UE
#sleep 7
#$OPENAIR2_DIR/NAS/DRIVER/CELLULAR/CTL_TOOL/gioctl cx add 0 5
#sleep 40
#$OPENAIR2_DIR/NAS/DRIVER/CELLULAR/CTL_TOOL/gioctl cx del 0
echo "End"
#! /bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim_eNB
wait_process_ended oaisim_eNB
pkill cell_rrm
sleep 1
cp /tmp/log_rrm ./log_rrm.txt
cp /tmp/log_oaiENB ./log_oaiENB.txt
cp /tmp/log_lteralenb ./log_lteralenb.txt
sleep 1
ip link set oai0 down
/sbin/rmmod nascellrg
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up eNB interface"
pkill oaisim_eNB
pkill cell_rrm
/sbin/rmmod nascellrg
echo "REMOVING MULTICAST ROUTING RULE"
ip route del 239.0.0.160/28 dev eth3
#sudo make naslite_netlink_ether oaisim
#make naslite_netlink_ether oaisim
/sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASRG/nascellrg.ko
echo "eNB interface network driver started"
sleep 1
echo " Configuring ipv6 dad.."
#sysctl -w net.ipv6.conf.default.dad_transmits=0
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
echo " Enabling ipv6 forwarding.."
#sysctl -w net.ipv6.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv6.conf.all.forwarding` -eq 1" $LINENO
#ip link set oai0 broadcast ff:ff:ff:ff:ff:ff
#macchanger oai0 -m 90:f6:52:0c:60:aa
#sleep 3
ip link set oai0 up
sleep 1
echo "CONFIGURING eNB INTERFACE"
ifconfig oai0 10.0.1.3 netmask 255.255.255.0 broadcast 10.0.1.255
echo "eNB interface network driver IPv4 address configured"
sleep 1
ip addr add dev oai0 2001:660:382:14::1/64
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
echo " ADDING MULTICAST ROUTING RULE"
ip route add 239.0.0.160/28 dev eth3
#rm -f /tmp/lte_enb.log
#rm -f rrm_log.txt
sleep 1
echo "Starting RRM module"
exec $OPENAIR_TARGETS/SIMU/USER/cell_rrm > /tmp/log_rrm 2>&1 &
sleep 2
echo "Starting OAI Access Stratum ..."
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6 > /tmp/log_oaiENB 2>&1 &
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g2 -l6
#$OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -g1 -l6
#sudo nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1 -u0 -b1 -M0 -p2 -l6
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_eNB -E 1234 -u0 -b1 -M0 -p2 -l6 > /dev/null 2>&1 &log_oaiENB
#gdb --args /usr/local/src/trunk/targets/SIMU/USER/oaisim -E 1234 -u0 -M0 -p2 -g1 -l7
wait_process_started oaisim_eNB
#echo " Enabling ping broadcast"
#bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.ip_forward=1
#assert "`sysctl -n net.ipv4.ip_forward` -eq 1" $LINENO
#echo " Enabling ipv4 forwarding.."
#sudo sysctl -w net.ipv4.conf.all.forwarding=1
#assert "`sudo sysctl -n net.ipv4.conf.all.forwarding` -eq 1" $LINENO
#Activate next line to start with MIH-LTE-SAP
#sleep 4
#$OPENAIR3_DIR/RAL-LTE/LTE_RAL_ENB/LTE_RAL_ENB > /tmp/log_lteralenb 2>&1 &
#while true; do sleep 10000; done
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill LTE_RAL_UE
wait_process_ended LTE_RAL_UE
pkill oaisim_UE
wait_process_ended oaisim_UE
sleep 1
cp /tmp/log_oaiUE ./log_oaiUE.txt
cp /tmp/log_lteralue ./log_lteralue.txt
sleep 1
ip link set oai0 down
/sbin/rmmod -w nascellmt
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring up UE interface"
pkill oaisim_UE
/sbin/rmmod -w nascellmt
ip route del 239.0.0.160/28 dev eth1
#make oaisim rrc_cellular=1 UE_flag=1
/sbin/insmod $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/NASMT/nascellmt.ko nas_IMEI=3,5,6,0,1,4,9,1,5,0,0,0,0,0
#sudo $OPENAIR2_DIR/NAS/DRIVER/CELLULAR/start_mt_cellular
echo "UE interface network driver started"
#avoid conflict with reserved multicast addresses (224.0.0.11,224.0.0.13, 224.0.0.16)
## 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
echo "UE interface network driver up"
sleep 1
ifconfig oai0 10.0.1.2 netmask 255.255.255.0 broadcast 10.0.1.255
echo "UE interface network driver IPv4 address configured"
sleep 1
## ip addr add dev oai0 2001:660:382:14:235:60ff:fe14:9150/64
ip addr add dev oai0 2001:660:382:14:235:60ff:fe14:9150/64
##
#echo " Enabling ping broadcast"
#sudo bash_exec "sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0"
#assert "`sudo sysctl -n net.ipv4.icmp_echo_ignore_broadcasts` -eq 0" $LINENO
# ** Next lines start the Access Stratum
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1234 -u1 -b0 -M1 -p2 -l6 > /dev/null 2>&1
echo "Starting OAI Access Stratum ..."
nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -g2 -l6 > /tmp/log_oaiUE 2>&1 &
#$OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -g1 -l6
#nice --adjustment=-10 $OPENAIR_TARGETS/SIMU/USER/oaisim_UE -E 1 -u1 -b0 -M1 -p2 -g1 -l6
#gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -E 1234 -b0 -M1 -p2 -g1 -l3
# ** Next lines start the RAL
#wait_process_started oaisim_UE
#sleep 4
#$OPENAIR3_DIR/RAL-LTE/LTE_RAL_UE/LTE_RAL_UE > /tmp/log_lteralue 2>&1 &
#wait_process_started LTE_RAL_UE
# ** Next lines start the gioctl
wait_process_started oaisim_UE
sleep 7
$OPENAIR2_DIR/NAS/DRIVER/CELLULAR/CTL_TOOL/gioctl cx add 0 5
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill LTE_RAL_ENB
wait_process_ended LTE_RAL_ENB
sleep 1
pkill oaisim_eNB
wait_process_ended oaisim_eNB
sleep 1
cp /tmp/log_rrm ./log_rrm.txt
cp /tmp/log_oaiENB ./log_oaiENB.txt
cp /tmp/log_lteralenb ./log_lteralenb.txt
sleep 1
ip link set oai0 down
/sbin/rmmod nascellrg
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring down eNB interface"
pkill LTE_RAL_ENB
wait_process_ended LTE_RAL_ENB
sleep 1
pkill oaisim_eNB
wait_process_ended oaisim_eNB
pkill cell_rrm
sleep 1
cp /tmp/rrm_log ./log_rrm.txt
cp /tmp/oaiENB_log ./log_oaiENB.txt
cp /tmp/log_lteralenb ./log_lteralenb.txt
sleep 1
ip link set oai0 down
/sbin/rmmod nascellrg
echo "End"
#!/bin/bash
#set -x
###########################################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
###########################################################
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
}
wait_process_ended () {
if [ -z "$1" ]
then
echo_error "WAITING FOR PROCESS START: NO PROCESS"
return 1
fi
pkill $1
ps -C $1 > /dev/null 2>&1
while [ $? -eq 0 ]; do
echo_warning "WAITING FOR $1 END"
pkill $1
sleep 2
ps -C $1 > /dev/null 2>&1
done
echo_success "PROCESS $1 ENDED"
return 0
}
assert() {
# If condition false
# exit from script with error message
E_PARAM_ERR=98
E_PARAM_FAILED=99
if [ -z "$2" ] # Not enought parameters passed.
then
return $E_PARAM_ERR
fi
lineno=$2
if [ ! $1 ]
then
echo "Assertion failed: \"$1\""
echo "File \"$0\", line $lineno"
exit $E_ASSERT_FAILED
fi
}
control_c()
# run if user hits control-c
{
echo -en "\n*** Exiting ***\n"
pkill oaisim_eNB
wait_process_ended oaisim_eNB
sleep 2
ip link set oai0 down
/sbin/rmmod nascellrg
exit $?
}
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
}
trap control_c SIGINT
#set_openair
echo "OPENAIR1_DIR="$OPENAIR1_DIR
echo "OPENAIR2_DIR="$OPENAIR2_DIR
echo "OPENAIR3_DIR="$OPENAIR3_DIR
echo "OPENAIR_TARGETS="$OPENAIR_TARGETS
echo "Bring down eNB interface"
pkill LTE_RAL_ENB
wait_process_ended LTE_RAL_ENB
sleep 1
pkill oaisim_eNB
wait_process_ended oaisim_eNB
pkill cell_rrm
sleep 1
cp /tmp/log_rrm ./log_rrm.txt
cp /tmp/log_oaiENB ./log_oaiENB.txt
cp /tmp/log_lteralenb ./log_lteralenb.txt
sleep 1
ip link set oai0 down
/sbin/rmmod nascellrg
echo "End"
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment