From a76df8b1a215593cda50da13624f76df9e8bced0 Mon Sep 17 00:00:00 2001 From: Lionel Gauthier <lionel.gauthier@eurecom.fr> Date: Thu, 23 Jan 2014 11:16:32 +0000 Subject: [PATCH] For openvswitch bridging git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4934 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair-cn/SCRIPTS/start_lte-epc-ovs.bash | 77 ++++++++++++++++------- 1 file changed, 55 insertions(+), 22 deletions(-) diff --git a/openair-cn/SCRIPTS/start_lte-epc-ovs.bash b/openair-cn/SCRIPTS/start_lte-epc-ovs.bash index 1ae161b324..6ac7b33ad9 100755 --- a/openair-cn/SCRIPTS/start_lte-epc-ovs.bash +++ b/openair-cn/SCRIPTS/start_lte-epc-ovs.bash @@ -11,9 +11,13 @@ # | |cpenb0+------------------+cpmme0| | +------+ | | # | +------+ |bridge| +------+ +----+ +---+ | # | |upenb0+-------+ | | | +----------+ -# +-----------+------+ | | | +-----------+ -# +---|--+ | router.eur -# | +-----------+ | +--------------+ +# +-----------+------+ | | | +-+-------+-+ +# | | +----------------| s11mme|---+ +# | | +---+---+ | +# | | (optional)| | +# | | +---+---+ | +# +---|------------------ | s11sgw|---+ router.eur +# | +-+-------+-+ | +--------------+ # | | S+P-GW | v | ROUTER | # | VLAN2 +------+ +-------+ +----+ +----+ # +----------+upsgw0| |sgi +-...-+ | | +---...Internet @@ -198,20 +202,26 @@ assert " `sysctl -n net.ipv4.conf.all.rp_filter` -eq 0" $LINENO start_openswitch_daemon # REMINDER: -# +-----------+ +------+ +-----------+ -# | eNB +------+ | ovs | VLAN 1+------+ MME | -# | |cpenb0+------------------+cpmme0| | -# | +------+ |bridge| +------+ | -# | |upenb0+-------+ | | | -# +-----------+------+ | | | +-----------+ -# +---|--+ | -# | +-----------+ -# | | S+P-GW | -# | VLAN2 +------+ +-------+ +----+ +----+ -# +----------+upsgw0| |pgwsgi0+---+br2 +----+eth0| -# +------+ +-------+ +----+ +----+ -# | | -# +-----------+ +# hss.eur +# | +# +-----------+ +------+ +-----------+ v +----------+ +# | eNB +------+ | ovs | VLAN 1+------+ MME +----+ +---+ HSS | +# | |cpenb0+------------------+cpmme0| | +------+ | | +# | +------+ |bridge| +------+ +----+ +---+ | +# | |upenb0+-------+ | | | +----------+ +# +-----------+------+ | | | +-+-------+-+ +# | | +----------------| s11mme|---+ +# | | +---+---+ | +# | | (optional)| | +# | | +---+---+ | +# +---|------------------ | s11sgw|---+ router.eur +# | +-+-------+-+ | +--------------+ +# | | S+P-GW | v | ROUTER | +# | VLAN2 +------+ +-------+ +----+ +----+ +# +----------+upsgw0| |sgi +-...-+ | | +---...Internet +# +------+ +-------+ +----+ +----+ +# | | 11 VLANS | | +# +-----------+ ids=[5..15] +--------------+ # ################################################## # del bridge between eNB and MME/SPGW @@ -220,6 +230,8 @@ bash_exec "tunctl -d $ENB_INTERFACE_NAME_FOR_S1_MME" bash_exec "tunctl -d $ENB_INTERFACE_NAME_FOR_S1U" bash_exec "tunctl -d $MME_INTERFACE_NAME_FOR_S1_MME" bash_exec "tunctl -d $SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP" +bash_exec "tunctl -d $MME_INTERFACE_NAME_FOR_S11_MME" +bash_exec "tunctl -d $SGW_INTERFACE_NAME_FOR_S11" bash_exec "ovs-vsctl del-br $BRIDGE" ################################################## @@ -229,12 +241,16 @@ bash_exec "tunctl -t $ENB_INTERFACE_NAME_FOR_S1_MME" bash_exec "tunctl -t $ENB_INTERFACE_NAME_FOR_S1U" bash_exec "tunctl -t $MME_INTERFACE_NAME_FOR_S1_MME" bash_exec "tunctl -t $SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP" +bash_exec "tunctl -t $MME_INTERFACE_NAME_FOR_S11_MME" +bash_exec "tunctl -t $SGW_INTERFACE_NAME_FOR_S11" bash_exec "ovs-vsctl add-br $BRIDGE" bash_exec "ovs-vsctl add-port $BRIDGE $ENB_INTERFACE_NAME_FOR_S1_MME tag=1" bash_exec "ovs-vsctl add-port $BRIDGE $MME_INTERFACE_NAME_FOR_S1_MME tag=1" bash_exec "ovs-vsctl add-port $BRIDGE $ENB_INTERFACE_NAME_FOR_S1U tag=2" bash_exec "ovs-vsctl add-port $BRIDGE $SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP tag=2" +bash_exec "ovs-vsctl add-port $BRIDGE $MME_INTERFACE_NAME_FOR_S11_MME tag=3" +bash_exec "ovs-vsctl add-port $BRIDGE $SGW_INTERFACE_NAME_FOR_S11 tag=3" bash_exec "ifconfig $MME_INTERFACE_NAME_FOR_S1_MME promisc up" bash_exec "ifconfig $MME_INTERFACE_NAME_FOR_S1_MME $MME_IP_ADDRESS_FOR_S1_MME netmask `cidr2mask $MME_IP_NETMASK_FOR_S1_MME` promisc up" @@ -246,16 +262,21 @@ bash_exec "ifconfig $ENB_INTERFACE_NAME_FOR_S1_MME $ENB_IP_ADDRESS_FOR_S1_MME ne bash_exec "ifconfig $ENB_INTERFACE_NAME_FOR_S1U promisc up" bash_exec "ifconfig $ENB_INTERFACE_NAME_FOR_S1U $ENB_IP_ADDRESS_FOR_S1U netmask `cidr2mask $ENB_IP_NETMASK_FOR_S1U` promisc up" +bash_exec "ifconfig $MME_INTERFACE_NAME_FOR_S11_MME promisc up" +bash_exec "ifconfig $MME_INTERFACE_NAME_FOR_S11_MME $MME_IP_ADDRESS_FOR_S11_MME netmask `cidr2mask $MME_IP_NETMASK_FOR_S11_MME` promisc up" +bash_exec "ifconfig $ENB_INTERFACE_NAME_FOR_S1U promisc up" +bash_exec "ifconfig $SGW_INTERFACE_NAME_FOR_S11 $SGW_IP_ADDRESS_FOR_S11 netmask `cidr2mask $SGW_IP_NETMASK_FOR_S11` promisc up" + -## TEST +## TEST NETWORK BETWEEN ENB-MME-SP-GW iperf --bind $MME_IP_ADDRESS_FOR_S1_MME -u -s 2>&1 > /dev/null & iperf --bind $ENB_IP_ADDRESS_FOR_S1_MME -u --num 1K -c $MME_IP_ADDRESS_FOR_S1_MME 2>&1 | grep -i WARNING > /dev/null if [ $? -eq 0 ]; then - echo_error "NETWORK ERROR CONFIGURATION (openvswitch) between ENB and MME control plane" + echo_error "NETWORK ERROR CONFIGURATION (openvswitch) between ENB and MME S1" pkill iperf 2>&1 > /dev/null exit 1 else - echo_success "NETWORK TEST SUCCESS (openvswitch) between ENB and MME control plane" + echo_success "NETWORK TEST SUCCESS (openvswitch) between ENB and MME S1" fi pkill iperf 2>&1 > /dev/null @@ -263,14 +284,26 @@ pkill iperf 2>&1 > /dev/null iperf --bind $SGW_IP_ADDRESS_FOR_S1U_S12_S4_UP -u -s 2>&1 > /dev/null & iperf --bind $ENB_IP_ADDRESS_FOR_S1U -u --num 1K -c $SGW_IP_ADDRESS_FOR_S1U_S12_S4_UP 2>&1 | grep -i WARNING > /dev/null if [ $? -eq 0 ]; then - echo_error "NETWORK ERROR CONFIGURATION (openvswitch) between ENB and S-GW user plane" + echo_error "NETWORK ERROR CONFIGURATION (openvswitch) between ENB and S-GW S1-U" pkill iperf 2>&1 > /dev/null exit 1 else - echo_success "NETWORK TEST SUCCESS (openvswitch) between ENB and S-GW user plane" + echo_success "NETWORK TEST SUCCESS (openvswitch) between ENB and S-GW S1-U" fi pkill iperf 2>&1 > /dev/null +iperf --bind $SGW_IP_ADDRESS_FOR_S11 -u -s 2>&1 > /dev/null & +iperf --bind $MME_IP_ADDRESS_FOR_S11_MME -u --num 1K -c $SGW_IP_ADDRESS_FOR_S11 2>&1 | grep -i WARNING > /dev/null +if [ $? -eq 0 ]; then + echo_error "NETWORK ERROR CONFIGURATION (openvswitch) between MME and S-GW S11" + pkill iperf 2>&1 > /dev/null + exit 1 +else + echo_success "NETWORK TEST SUCCESS (openvswitch) between MME and S-GW S11" +fi +pkill iperf 2>&1 > /dev/null + + ################################################## # del bridge between SPGW and Internet ################################################## -- 2.26.2