git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5431 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -40,31 +40,8 @@
|
||||
# THE DIRECTORY WHERE ARE LOCATED THE CONFIGURATION FILES
|
||||
#########################################
|
||||
# This script start ENB+UE (all in one executable, on one host)
|
||||
# Depending on configuration files, it can be instanciated a virtual switch
|
||||
# setting or a VLAN setting.
|
||||
# MME+SP-GW executable have to be launched on the same host by your own (start_epc.bash) before this script is invoked.
|
||||
#
|
||||
###########################################################################################################################
|
||||
# VIRTUAL SWITCH SETTING
|
||||
###########################################################################################################################
|
||||
#
|
||||
# hss.eur
|
||||
# |
|
||||
# +-----------+ +------+ +-----------+ v +----------+
|
||||
# | eNB +------+ | ovs | VLAN 1+------+ MME +----+ +---+ HSS |
|
||||
# | |cpenb0+------------------+cpmme0| | +------+ | |
|
||||
# | +------+ |bridge| +------+ +----+ +---+ |
|
||||
# | |upenb0+-------+ | | | +----------+
|
||||
# +-----------+------+ | | | +-----------+
|
||||
# +---|--+ | router.eur
|
||||
# | +-----------+ | +--------------+
|
||||
# | | S+P-GW | v | ROUTER |
|
||||
# | VLAN2 +------+ +-------+ +----+ +----+
|
||||
# +----------+upsgw0| |sgi +-...-+ | | +---...Internet
|
||||
# +------+ +-------+ +----+ +----+
|
||||
# | | 11 VLANS | |
|
||||
# +-----------+ ids=[5..15] +--------------+
|
||||
#
|
||||
# Depending on configuration files a VLAN setting.
|
||||
# MME+SP-GW executable have to be launched by your own (start_epc.bash) before this script is invoked.
|
||||
#
|
||||
###########################################################################################################################
|
||||
# VLAN SETTING
|
||||
@@ -104,7 +81,9 @@ declare UE_IPv4_CIDR=$UE_IPv4"/24"
|
||||
|
||||
###########################################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
source $THIS_SCRIPT_PATH/utils.bash
|
||||
. $THIS_SCRIPT_PATH/utils.bash
|
||||
. $THIS_SCRIPT_PATH/interfaces.bash
|
||||
. $THIS_SCRIPT_PATH/networks.bash
|
||||
###########################################################
|
||||
if [ $# -eq 1 ]; then
|
||||
declare -x CONFIG_FILE_DIR=$1
|
||||
@@ -156,24 +135,16 @@ declare ENB_IPV4_NETMASK_FOR_S1U=$( echo $ENB_IPV4_ADDRESS_FOR_S1U
|
||||
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_openvswitch_interface $ENB_INTERFACE_NAME_FOR_S1_MME \
|
||||
$ENB_INTERFACE_NAME_FOR_S1U
|
||||
|
||||
is_vlan_interface $ENB_INTERFACE_NAME_FOR_S1_MME \
|
||||
$ENB_INTERFACE_NAME_FOR_S1U
|
||||
if [ $? -eq 1 ]; then
|
||||
echo_success "Found open-vswitch network configuration"
|
||||
else
|
||||
is_vlan_interface $ENB_INTERFACE_NAME_FOR_S1_MME \
|
||||
$ENB_INTERFACE_NAME_FOR_S1U
|
||||
if [ $? -eq 1 ]; then
|
||||
echo_success "Found VLAN network configuration"
|
||||
clean_enb_vlan_network
|
||||
build_enb_vlan_network
|
||||
test_enb_vlan_network
|
||||
else
|
||||
echo_error "Cannot find open-vswitch network configuration or VLAN network configuration"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
echo_success "Found VLAN network configuration"
|
||||
clean_enb_vlan_network
|
||||
build_enb_vlan_network
|
||||
test_enb_vlan_network
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#######################################################
|
||||
@@ -182,22 +153,31 @@ fi
|
||||
export NVRAM_DIR=$THIS_SCRIPT_PATH
|
||||
|
||||
if [ ! -f $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data ]; then
|
||||
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS veryveryclean
|
||||
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS PROCESS=UE
|
||||
if [ ! -f /tmp/nas_cleaned ]; then
|
||||
echo_success "make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS veryveryclean"
|
||||
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS veryveryclean
|
||||
fi
|
||||
echo_success "make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS PROCESS=UE"
|
||||
make -v --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS -f Makefile PROCESS=UE
|
||||
rm .ue.nvram
|
||||
touch /tmp/nas_cleaned
|
||||
fi
|
||||
if [ ! -f $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data ]; then
|
||||
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS veryveryclean
|
||||
if [ ! -f /tmp/nas_cleaned ]; then
|
||||
echo_success "make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS veryveryclean"
|
||||
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS veryveryclean
|
||||
fi
|
||||
echo_success "make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS PROCESS=UE"
|
||||
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS PROCESS=UE
|
||||
rm .usim.nvram
|
||||
fi
|
||||
if [ ! -f .ue.nvram ]; then
|
||||
# generate .ue_emm.nvram .ue.nvram
|
||||
echo_success "generate .ue_emm.nvram .ue.nvram"
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --gen
|
||||
fi
|
||||
|
||||
if [ ! -f .usim.nvram ]; then
|
||||
# generate .usim.nvram
|
||||
echo_success "generate .usim.nvram"
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --gen
|
||||
fi
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --print
|
||||
@@ -206,19 +186,20 @@ $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --print
|
||||
##################################################
|
||||
# LAUNCH eNB + UE executable
|
||||
##################################################
|
||||
echo "Bringup UE interface"
|
||||
pkill oaisim
|
||||
bash_exec "rmmod $IP_DRIVER_NAME" > /dev/null 2>&1
|
||||
|
||||
cecho "make $MAKE_IP_DRIVER_TARGET $MAKE_LTE_ACCESS_STRATUM_TARGET ....." $green
|
||||
echo_success "make $MAKE_IP_DRIVER_TARGET $MAKE_LTE_ACCESS_STRATUM_TARGET ....."
|
||||
#bash_exec "make --directory=$OPENAIR2_DIR $MAKE_IP_DRIVER_TARGET "
|
||||
make --directory=$OPENAIR2_DIR $MAKE_IP_DRIVER_TARGET || exit 1
|
||||
|
||||
echo_success "make --debug=b --directory=$OPENAIR_TARGETS/SIMU/USER $MAKE_LTE_ACCESS_STRATUM_TARGET || exit 1"
|
||||
#bash_exec "make --directory=$OPENAIR_TARGETS/SIMU/USER $MAKE_LTE_ACCESS_STRATUM_TARGET "
|
||||
#make --directory=$OPENAIR_TARGETS/SIMU/USER $MAKE_LTE_ACCESS_STRATUM_TARGET -j`grep -c ^processor /proc/cpuinfo ` || exit 1
|
||||
make --debug=b --directory=$OPENAIR_TARGETS/SIMU/USER $MAKE_LTE_ACCESS_STRATUM_TARGET || exit 1
|
||||
|
||||
|
||||
echo_success "Bringup UE interface..."
|
||||
bash_exec "insmod $OPENAIR2_DIR/NETWORK_DRIVER/UE_IP/$IP_DRIVER_NAME.ko"
|
||||
|
||||
bash_exec "ip route flush cache"
|
||||
@@ -248,25 +229,24 @@ fi
|
||||
ip rule add fwmark 5 table lte
|
||||
ip route add default dev $LTEIF table lte
|
||||
|
||||
ITTI_LOG_FILE=./OUTPUT/itti_enb_ue.$HOSTNAME.log
|
||||
cd $THIS_SCRIPT_PATH/OUTPUT/$HOSTNAME
|
||||
ITTI_LOG_FILE=itti_enb_ue.$HOSTNAME.log
|
||||
rotate_log_file $ITTI_LOG_FILE
|
||||
STDOUT_LOG_FILE=./OUTPUT/stdout_enb_ue.log
|
||||
|
||||
STDOUT_LOG_FILE=stdout_enb_ue.$HOSTNAME.log
|
||||
rotate_log_file $STDOUT_LOG_FILE
|
||||
|
||||
rotate_log_file $STDOUT_LOG_FILE.filtered
|
||||
rotate_log_file ./OUTPUT/tshark_enb_ue.pcap
|
||||
rotate_log_file tshark_enb_ue.$HOSTNAME.pcap
|
||||
|
||||
cd $THIS_SCRIPT_PATH
|
||||
|
||||
nohup tshark -i $ENB_INTERFACE_NAME_FOR_S1_MME -i $ENB_INTERFACE_NAME_FOR_S1U -w tshark.pcap &
|
||||
nohup tshark -i $ENB_INTERFACE_NAME_FOR_S1_MME -i $ENB_INTERFACE_NAME_FOR_S1U -w OUTPUT/$HOSTNAME/tshark_enb_ue.$HOSTNAME.pcap &
|
||||
|
||||
nohup xterm -e $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/UserProcess &
|
||||
#nohup xterm -e $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/UserProcess &
|
||||
|
||||
gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -a -u1 -l9 -K $ITTI_LOG_FILE --enb-conf $CONFIG_FILE_ENB 2>&1 | tee $STDOUT_LOG_FILE
|
||||
gdb --args $OPENAIR_TARGETS/SIMU/USER/oaisim -a -u1 -l9 -K OUTPUT/$HOSTNAME/$ITTI_LOG_FILE --enb-conf $CONFIG_FILE_ENB 2>&1 | tee OUTPUT/$HOSTNAME/$STDOUT_LOG_FILE
|
||||
|
||||
pkill tshark
|
||||
|
||||
cat $STDOUT_LOG_FILE | grep -v '[PHY]' | grep -v '[MAC]' | grep -v '[EMU]' | \
|
||||
grep -v '[OCM]' | grep -v '[OMG]' | \
|
||||
grep -v 'RLC not configured' | grep -v 'check if serving becomes' | \
|
||||
grep -v 'mac_rrc_data_req' | grep -v 'BCCH request =>' > $STDOUT_LOG_FILE.filtered
|
||||
cat OUTPUT/$HOSTNAME/$STDOUT_LOG_FILE | |grep 'RRC\|S1AP\|SCTP\|PDCP' > OUTPUT/$HOSTNAME/$STDOUT_LOG_FILE.filtered
|
||||
|
||||
Reference in New Issue
Block a user