git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5407 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -177,6 +177,10 @@ is_openvswitch_interface() {
|
|||||||
else
|
else
|
||||||
if [ "a${var:0:3}" == "atun" ]; then
|
if [ "a${var:0:3}" == "atun" ]; then
|
||||||
return 0;
|
return 0;
|
||||||
|
else
|
||||||
|
if [ "a${var:0:4}" == "avbox" ]; then
|
||||||
|
return 0;
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -194,6 +198,14 @@ delete_tun_interface() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete_vlan_interface() {
|
||||||
|
is_vlan_interface $1
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
ifconfig $1 down > /dev/null 2>&1
|
||||||
|
vconfig rem $1 > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
create_tun_interface() {
|
create_tun_interface() {
|
||||||
is_tun_interface $1
|
is_tun_interface $1
|
||||||
|
|||||||
@@ -257,33 +257,7 @@ build_mme_spgw_vlan_network() {
|
|||||||
#
|
#
|
||||||
is_real_interface $PGW_INTERFACE_NAME_FOR_SGI
|
is_real_interface $PGW_INTERFACE_NAME_FOR_SGI
|
||||||
if [ $? -eq 1 ]; then
|
if [ $? -eq 1 ]; then
|
||||||
get_mac_router
|
create_sgi_vlans
|
||||||
# # get ipv4 address from PGW_INTERFACE_NAME_FOR_SGI
|
|
||||||
#IP_ADDR=`ifconfig $PGW_INTERFACE_NAME_FOR_SGI | awk '/inet addr/ {split ($2,A,":"); print A[2]}' | tr '\n' ' ' | sed -n '1h;1!H;${;g;s/^[ \t]*//g;s/[ \t]*$//g;p;}'`
|
|
||||||
|
|
||||||
#NETWORK=`echo $IP_ADDR | cut -d . -f 1,2,3`
|
|
||||||
|
|
||||||
bash_exec "modprobe 8021q"
|
|
||||||
|
|
||||||
for i in 5 6 7 8 9 10 11 12 13 14 15
|
|
||||||
do
|
|
||||||
# create vlan interface
|
|
||||||
ifconfig $PGW_INTERFACE_NAME_FOR_SGI.$i down > /dev/null 2>&1
|
|
||||||
vconfig rem $PGW_INTERFACE_NAME_FOR_SGI.$i > /dev/null 2>&1
|
|
||||||
sync
|
|
||||||
bash_exec "vconfig add $PGW_INTERFACE_NAME_FOR_SGI $i"
|
|
||||||
sync
|
|
||||||
bash_exec "ifconfig $PGW_INTERFACE_NAME_FOR_SGI.$i up"
|
|
||||||
sync
|
|
||||||
# configure vlan interface
|
|
||||||
#CIDR=$NETWORK'.'$i'/24'
|
|
||||||
base=200
|
|
||||||
NET=$(( $i + $base ))
|
|
||||||
CIDR='10.0.'$NET'.2/8'
|
|
||||||
bash_exec "ip -4 addr add $CIDR dev $PGW_INTERFACE_NAME_FOR_SGI.$i"
|
|
||||||
done
|
|
||||||
|
|
||||||
bash_exec "ip link set $PGW_INTERFACE_NAME_FOR_SGI promisc on"
|
|
||||||
else
|
else
|
||||||
echo_warning "SGI interface disabled by config file"
|
echo_warning "SGI interface disabled by config file"
|
||||||
fi
|
fi
|
||||||
@@ -326,20 +300,15 @@ clean_epc_vlan_network() {
|
|||||||
|
|
||||||
bash_exec "modprobe 8021q"
|
bash_exec "modprobe 8021q"
|
||||||
|
|
||||||
ifconfig $MME_INTERFACE_NAME_FOR_S1_MME down > /dev/null 2>&1
|
delete_vlan_interface $MME_INTERFACE_NAME_FOR_S1_MME
|
||||||
vconfig rem $MME_INTERFACE_NAME_FOR_S1_MME > /dev/null 2>&1
|
delete_vlan_interface $SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP
|
||||||
|
|
||||||
ifconfig $SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP down > /dev/null 2>&1
|
|
||||||
vconfig rem $SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP > /dev/null 2>&1
|
|
||||||
|
|
||||||
|
|
||||||
for i in 5 6 7 8 9 10 11 12 13 14 15
|
for i in 5 6 7 8 9 10 11 12 13 14 15
|
||||||
do
|
do
|
||||||
# delete vlan interface
|
# delete vlan interface
|
||||||
ifconfig $PGW_INTERFACE_NAME_FOR_SGI.$i down > /dev/null 2>&1
|
delete_vlan_interface $PGW_INTERFACE_NAME_FOR_SGI.$i down
|
||||||
vconfig rem $PGW_INTERFACE_NAME_FOR_SGI.$i > /dev/null 2>&1
|
|
||||||
done
|
done
|
||||||
#ip link set $PGW_INTERFACE_NAME_FOR_SGI down > /dev/null 2>&1
|
|
||||||
clean_network
|
clean_network
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,6 +478,10 @@ clean_tun_network() {
|
|||||||
build_epc_tun_network() {
|
build_epc_tun_network() {
|
||||||
|
|
||||||
build_tun_network
|
build_tun_network
|
||||||
|
create_sgi_vlans
|
||||||
|
}
|
||||||
|
|
||||||
|
create_sgi_vlans() {
|
||||||
|
|
||||||
get_mac_router
|
get_mac_router
|
||||||
|
|
||||||
@@ -528,11 +501,10 @@ build_epc_tun_network() {
|
|||||||
#CIDR=$NETWORK'.'$i'/24'
|
#CIDR=$NETWORK'.'$i'/24'
|
||||||
base=200
|
base=200
|
||||||
NET=$(( $i + $base ))
|
NET=$(( $i + $base ))
|
||||||
CIDR='10.0.'$NET'.2/8'
|
CIDR='10.0.'$NET'.2/24'
|
||||||
bash_exec "ip -4 addr add $CIDR dev $PGW_INTERFACE_NAME_FOR_SGI.$i"
|
bash_exec "ip -4 addr add $CIDR dev $PGW_INTERFACE_NAME_FOR_SGI.$i"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
bash_exec "ip link set $PGW_INTERFACE_NAME_FOR_SGI promisc on"
|
bash_exec "ip link set $PGW_INTERFACE_NAME_FOR_SGI promisc on"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,33 +46,73 @@
|
|||||||
# setting or a VLAN setting.
|
# setting or a VLAN setting.
|
||||||
#
|
#
|
||||||
###########################################################################################################################
|
###########################################################################################################################
|
||||||
# VIRTUAL SWITCH SETTING
|
# VIRTUAL BOX SETTING
|
||||||
###########################################################################################################################
|
###########################################################################################################################
|
||||||
# hss.eur
|
# NETWORK SETTING AT EURECOM IN EXPERIMENTAL NETWORK (192.168.12.X)
|
||||||
# |
|
#
|
||||||
# +-----------+ +------+ +-----------+ v +----------+
|
#
|
||||||
# | eNB +------+ | ovs | VLAN 1+------+ MME +----+ +---+ HSS |
|
# INTERNET GW 192.168.12.100
|
||||||
# | |cpenb0+------------------+cpmme0| | +------+ | |
|
# |
|
||||||
# | +------+ |bridge| +------+ +----+ +---+ |
|
# |
|
||||||
# | |upenb0+-------+ | | | +----------+
|
# 192.168.12.X/24 |
|
||||||
# +-----------+------+ | | | +-+-------+-+
|
# +-----------+----------------+---+--+---------------------------------------+
|
||||||
# | | +----------------| s11mme|---+
|
# | COMPUTER 1| | eth0 | |
|
||||||
# | | +---+---+ |
|
# +-----------+ +---+--+ |
|
||||||
# | | (optional)| |
|
# | | |
|
||||||
# | | +---+---+ |
|
# | | |
|
||||||
# +---|------------------ | s11sgw|---+ router.eur
|
# | ROUTER +-----+------+ |
|
||||||
# | +-+-------+-+ | +--------------+
|
# | |MASQUERADING| |
|
||||||
# | | S+P-GW | v | ROUTER |
|
# | |FORWARDING | |
|
||||||
# | VLAN2 +------+ +-------+ +----+ +----+
|
# | +-----+------+ |
|
||||||
# +----------+upsgw0| |sgi +-...-+ | | +---...Internet
|
# | | |
|
||||||
# +------+ +-------+ +----+ +----+
|
# | | |
|
||||||
# | | 11 VLANS | |
|
# | | |
|
||||||
# +-----------+ ids=[5..15] +--------------+
|
# | | |
|
||||||
|
# | | |
|
||||||
|
# | +---+--+ |
|
||||||
|
# | | eth1 | |
|
||||||
|
# +----------------------------+---+--+---------------------------------------+
|
||||||
|
# |router.eur
|
||||||
|
# 11 VLANS | INTERNET GW 192.168.12.100
|
||||||
|
# ids=[5..15] | |
|
||||||
|
# 192.168.13.X/24 | |
|
||||||
|
# +-----------+----------------+---+--+---------------------+---+--+----------+
|
||||||
|
# | COMPUTER 2| SGI | eth1 | Physical | eth0 | |
|
||||||
|
# +-----------+ +-+--+-+ Interface +------+ |
|
||||||
|
# | | | 'HOST_BRIDGED_IF_NAME' |
|
||||||
|
# | | | |
|
||||||
|
# | | | +-----------+ |
|
||||||
|
# | | | +------+ HSS | |
|
||||||
|
# | | +----------+ eth0 | (VM) | |
|
||||||
|
# | | +------+ | |
|
||||||
|
# | | | | |
|
||||||
|
# | | +-+------+--+ |
|
||||||
|
# | | |eth1 | hss.eur |
|
||||||
|
# | virtual box | +--+---+ |
|
||||||
|
# | +------------------+ | virtual box |
|
||||||
|
# | | bridged network | host-only |
|
||||||
|
# | | | network |
|
||||||
|
# | | | 192.168.57/24 |
|
||||||
|
# | | | |
|
||||||
|
# | +--+---+ +--+-----+ |
|
||||||
|
# | |eth0 | |vboxnet1| |
|
||||||
|
# | +-+------+--+192.168.56.101 192.168.56.1+-+--------++ |
|
||||||
|
# | | eNB 0 +------+ virtual box +--------+ MME | |
|
||||||
|
# | | (VM) |eth1 +----------------+vboxnet0| S+P/GW | |
|
||||||
|
# | | +------+ host-only +--------+(execu. on | |
|
||||||
|
# | | | network |COMPUTER2) | |
|
||||||
|
# | | | 192.168.56/24 | | |
|
||||||
|
# | | LTE eNB 1 | | | |
|
||||||
|
# | | LTE UEs | | | |
|
||||||
|
# | +-----------+ +-----------+ |
|
||||||
|
# | |
|
||||||
|
# | |
|
||||||
|
# +---------------------------------------------------------------------------+
|
||||||
#
|
#
|
||||||
###########################################################################################################################
|
###########################################################################################################################
|
||||||
# VLAN SETTING
|
# VLAN SETTING
|
||||||
###########################################################################################################################
|
###########################################################################################################################
|
||||||
# hss.eur
|
# each box is a host hss.eur
|
||||||
# |
|
# |
|
||||||
# +-----------+ +-----------+ v +----------+
|
# +-----------+ +-----------+ v +----------+
|
||||||
# | eNB +------+ VLAN 1+------+ MME +----+ +---+ HSS |
|
# | eNB +------+ VLAN 1+------+ MME +----+ +---+ HSS |
|
||||||
@@ -113,7 +153,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#check_install_epc_software
|
check_install_epc_software
|
||||||
|
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
@@ -236,50 +276,19 @@ SGW_IPV4_ADDRESS_FOR_S5_S8_UP=$( echo $SGW_IPV4_ADDRESS_FOR_S5_S8_UP
|
|||||||
PGW_IPV4_ADDRESS_FOR_S5_S8=$( echo $PGW_IPV4_ADDRESS_FOR_S5_S8 | cut -f1 -d '/')
|
PGW_IPV4_ADDRESS_FOR_S5_S8=$( echo $PGW_IPV4_ADDRESS_FOR_S5_S8 | cut -f1 -d '/')
|
||||||
PGW_IPV4_ADDR_FOR_SGI=$( echo $PGW_IPV4_ADDR_FOR_SGI | cut -f1 -d '/')
|
PGW_IPV4_ADDR_FOR_SGI=$( echo $PGW_IPV4_ADDR_FOR_SGI | cut -f1 -d '/')
|
||||||
|
|
||||||
is_openvswitch_interface $ENB_INTERFACE_NAME_FOR_S1_MME \
|
is_vlan_interface $MME_INTERFACE_NAME_FOR_S1_MME \
|
||||||
$ENB_INTERFACE_NAME_FOR_S1U \
|
$SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP
|
||||||
$MME_INTERFACE_NAME_FOR_S1_MME \
|
|
||||||
$SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP
|
|
||||||
if [ $? -eq 1 ]; then
|
if [ $? -eq 1 ]; then
|
||||||
ovs_setting=1
|
|
||||||
vlan_setting=0
|
|
||||||
echo_success "Found open-vswitch network configuration"
|
|
||||||
# May we have booted on a new kernel, not the one when we build vswitch kernel module
|
|
||||||
if [ ! -f /lib/modules/`uname -r`/extra/openvswitch.ko ]; then
|
|
||||||
$OPENAIRCN_DIR/SCRIPTS/install_openvswitch1.9.0.bash
|
|
||||||
fi
|
|
||||||
clean_epc_ovs_network
|
|
||||||
build_epc_ovs_network
|
|
||||||
test_epc_ovs_network
|
|
||||||
else
|
|
||||||
is_vlan_interface $MME_INTERFACE_NAME_FOR_S1_MME \
|
|
||||||
$SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
echo_success "Found open VLAN network configuration"
|
echo_success "Found open VLAN network configuration"
|
||||||
ovs_setting=0
|
|
||||||
vlan_setting=1
|
|
||||||
|
|
||||||
# may be openvswitch is needed for S11
|
|
||||||
is_openvswitch_interface $MME_IPV4_ADDRESS_FOR_S11_MME \
|
|
||||||
$SGW_IPV4_ADDRESS_FOR_S11
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
# May we have booted on a new kernel, not the one when we build vswitch kernel module
|
|
||||||
if [ ! -f /lib/modules/`uname -r`/extra/openvswitch.ko ]; then
|
|
||||||
$OPENAIRCN_DIR/SCRIPTS/install_openvswitch1.9.0.bash
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
clean_epc_vlan_network
|
clean_epc_vlan_network
|
||||||
build_mme_spgw_vlan_network
|
build_mme_spgw_vlan_network
|
||||||
else
|
else
|
||||||
is_real_interface $MME_IPV4_ADDRESS_FOR_S11_MME \
|
ovs_setting=0
|
||||||
$SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP
|
vlan_setting=0
|
||||||
if [ $? -eq 1 ]; then
|
clean_epc_vlan_network
|
||||||
echo_success "Found standart network configuration"
|
create_sgi_vlans
|
||||||
else
|
|
||||||
echo_error "Cannot find open-vswitch network configuration or VLAN network configuration or standart network configuration"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##################################################
|
##################################################
|
||||||
|
|||||||
@@ -592,6 +592,46 @@ function svn_find_str_in_file_history()
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compile_hss() {
|
||||||
|
cd $OPENAIRCN_DIR/OPENAIRHSS
|
||||||
|
OBJ_DIR=`find . -maxdepth 1 -type d -iname obj*`
|
||||||
|
if [ ! -n "$OBJ_DIR" ]
|
||||||
|
then
|
||||||
|
OBJ_DIR="objs"
|
||||||
|
bash_exec "mkdir -m 777 ./$OBJ_DIR"
|
||||||
|
echo_success "Created $OBJ_DIR directory"
|
||||||
|
else
|
||||||
|
OBJ_DIR=`basename $OBJ_DIR`
|
||||||
|
fi
|
||||||
|
if [ ! -f $OBJ_DIR/Makefile ]
|
||||||
|
then
|
||||||
|
if [ ! -n "m4" ]
|
||||||
|
then
|
||||||
|
mkdir -m 777 m4
|
||||||
|
fi
|
||||||
|
echo_success "Invoking autogen"
|
||||||
|
bash_exec "./autogen.sh"
|
||||||
|
cd ./$OBJ_DIR
|
||||||
|
echo_success "Invoking configure"
|
||||||
|
../configure
|
||||||
|
else
|
||||||
|
cd ./$OBJ_DIR
|
||||||
|
fi
|
||||||
|
if [ -f Makefile ]
|
||||||
|
then
|
||||||
|
echo_success "Compiling..."
|
||||||
|
make -j `cat /proc/cpuinfo | grep processor | wc -l`
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo_error "Build failed, exiting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo_error "Configure failed, exiting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
compile_epc() {
|
compile_epc() {
|
||||||
cd $OPENAIRCN_DIR
|
cd $OPENAIRCN_DIR
|
||||||
OBJ_DIR=`find . -maxdepth 1 -type d -iname obj*`
|
OBJ_DIR=`find . -maxdepth 1 -type d -iname obj*`
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ source $THIS_SCRIPT_PATH/utils.bash
|
|||||||
# INTERNET GW 192.168.12.100
|
# INTERNET GW 192.168.12.100
|
||||||
# |
|
# |
|
||||||
# |
|
# |
|
||||||
# 192.168.12.X/24 |
|
# 192.168.12.17/24 |
|
||||||
# +-----------+----------------+---+--+---------------------------------------+
|
# +-----------+----------------+---+--+---------------------------------------+
|
||||||
# | COMPUTER 1| | eth0 | |
|
# | COMPUTER 1| | eth0 | |
|
||||||
# +-----------+ +---+--+ |
|
# +-----------+ +---+--+ |
|
||||||
@@ -35,10 +35,10 @@ source $THIS_SCRIPT_PATH/utils.bash
|
|||||||
# | +---+--+ |
|
# | +---+--+ |
|
||||||
# | | eth1 | |
|
# | | eth1 | |
|
||||||
# +----------------------------+---+--+---------------------------------------+
|
# +----------------------------+---+--+---------------------------------------+
|
||||||
# |
|
# 192.168.13.17/24 |
|
||||||
# | INTERNET GW 192.168.12.100
|
# | INTERNET GW 192.168.12.100
|
||||||
# | |
|
# | |
|
||||||
# 192.168.13.X/24 | |
|
# 192.168.13.175/24 | 192.168.12.175/24 |
|
||||||
# +-----------+----------------+---+--+---------------------+---+--+----------+
|
# +-----------+----------------+---+--+---------------------+---+--+----------+
|
||||||
# | COMPUTER 2| | eth1 | Physical | eth0 | |
|
# | COMPUTER 2| | eth1 | Physical | eth0 | |
|
||||||
# +-----------+ +-+--+-+ Interface +------+ |
|
# +-----------+ +-+--+-+ Interface +------+ |
|
||||||
@@ -48,15 +48,15 @@ source $THIS_SCRIPT_PATH/utils.bash
|
|||||||
# | | | +------+ HSS | |
|
# | | | +------+ HSS | |
|
||||||
# | | +----------+ eth0 | (VM) | |
|
# | | +----------+ eth0 | (VM) | |
|
||||||
# | | +------+ | |
|
# | | +------+ | |
|
||||||
# | | | | |
|
# | | 192.168.13.177 | | |
|
||||||
# | | +-+------+--+ |
|
# | | +-+------+--+ |
|
||||||
# | | |eth1 | |
|
# | | |eth1 |192.168.57.101|
|
||||||
# | | +--+---+ |
|
# | | +--+---+ |
|
||||||
# | +------------------+ | |
|
# | +------------------+ | |
|
||||||
# | | bridged network | host-only |
|
# | | bridged network | host-only |
|
||||||
# | | | network |
|
# | | | network |
|
||||||
# | | | 192.168.57/24 |
|
# | | | 192.168.57/24 |
|
||||||
# | | | |
|
# | |92.168.13.176 |192.168.57.1 |
|
||||||
# | +--+---+ +--+-----+ |
|
# | +--+---+ +--+-----+ |
|
||||||
# | |eth0 | |vboxnet1| |
|
# | |eth0 | |vboxnet1| |
|
||||||
# | +-+------+--+192.168.56.101 192.168.56.1+-+--------++ |
|
# | +-+------+--+192.168.56.101 192.168.56.1+-+--------++ |
|
||||||
@@ -181,7 +181,7 @@ build_vms() {
|
|||||||
echo_warning "!!!!!!! in this case, help yourself...) !!!!!!!"
|
echo_warning "!!!!!!! in this case, help yourself...) !!!!!!!"
|
||||||
echo_warning "!!!!!!! exchange ssh keys between host and guests !!!!!!!"
|
echo_warning "!!!!!!! exchange ssh keys between host and guests !!!!!!!"
|
||||||
echo_warning "!!!!!!! in /etc/fstab on guests: add following line: !!!!!!!"
|
echo_warning "!!!!!!! in /etc/fstab on guests: add following line: !!!!!!!"
|
||||||
echo_warning "!!!!!!! sshfs#root@192.168.13.175:/root/trunk /mnt/sshfs/trunk fuse comment=sshfs!!!!!!!"
|
echo_warning "!!!!!!! sshfs#root@<IP@ of host>:/root/trunk /mnt/sshfs/trunk fuse comment=sshfs !!!!!!!"
|
||||||
echo_warning "!!!!!!! ,noauto,users,exec,uid=0,gid=0,allow_other,reconnect,transform_symlinks, !!!!!!!"
|
echo_warning "!!!!!!! ,noauto,users,exec,uid=0,gid=0,allow_other,reconnect,transform_symlinks, !!!!!!!"
|
||||||
echo_warning "!!!!!!! BatchMode=yes 0 0 !!!!!!!"
|
echo_warning "!!!!!!! BatchMode=yes 0 0 !!!!!!!"
|
||||||
echo_warning "!!!!!!! on guest: create a mount point: /mnt/sshfs/trunk for example, then mount: !!!!!!!"
|
echo_warning "!!!!!!! on guest: create a mount point: /mnt/sshfs/trunk for example, then mount: !!!!!!!"
|
||||||
|
|||||||
Reference in New Issue
Block a user