Skip to content

Commit

Permalink
use full path to ovs commands for Fedora root PATH issue. Also add op…
Browse files Browse the repository at this point in the history
…tion to optionally pass default gateway
  • Loading branch information
toddllm authored and deshantm committed Jun 12, 2010
1 parent 390a4f0 commit 166185c
Showing 1 changed file with 46 additions and 16 deletions.
62 changes: 46 additions & 16 deletions bin/ovst-setup-network
@@ -1,6 +1,6 @@
#!/bin/bash

usage="usage: $0 <bridge|ovs> <net_dev (e.g eth0)> <bridge_name> <IP_address> [no_network_teardown]"
usage="usage: $0 <bridge|ovs> <net_dev (e.g eth0)> <bridge_name> <IP_address> [default_gateway] [no_network_teardown]"

user=`whoami`
if [ $user != "root" ]; then
Expand All @@ -13,7 +13,7 @@ if [ -z $4 ]; then
exit 1
fi

if [ -z $5 ]; then
if [ -z $6 ]; then
#bring down network
killall -9 dhclient
for ethN in `ifconfig -a | grep eth | awk '{print $1}'`; do
Expand All @@ -31,20 +31,44 @@ ovs_bridge=${bridge_name}
#TODO same with name of bridged-network bridge name

if [ -z ${OVS_ROOT} ]; then
OVS_ROOT='/usr/local/src/ovs-src/'
OVS_ROOT='/usr/local/src/ovs-src'
else
echo "using OVS_ROOT of ${OVS_ROOT}"
fi

if [ -z ${OVS_BIN} ]; then
OVS_BIN='/usr/local/bin'
else
echo "using OVS_ROOT of ${OVS_BIN}"
fi

if [ -z ${OVS_SBIN} ]; then
OVS_SBIN='/usr/local/sbin'
else
echo "using OVS_ROOT of ${OVS_SBIN}"
fi

if [ -z ${OVST_BIN} ]; then
OVST_BIN='/usr/local/bin'
else
echo "using OVS_ROOT of ${OVST_BIN}"
fi

if [ -z ${OVST_SBIN} ]; then
OVST_SBIN='/usr/local/sbin'
else
echo "using OVS_ROOT of ${OVS_SBIN}"
fi

if [ ${network_type} == "bridge" ]; then
#stop ovs and start linux bridging
grep openvswitch_mod /proc/modules
if [ $? -eq 0 ]; then #bridge module is loaded, so cleanup
ovs-vsctl del-port ${network_device}
${OVS_BIN}ovs-vsctl del-port ${network_device}
ifconfig ${ovs_bridge} down
ovs-vsctl -- --if-exists del-br ${ovs_bridge}
ovs-appctl -t ovsdb-server exit
ovs-appctl -t ovs-vswitchd exit
${OVS_BIN}ovs-vsctl -- --if-exists del-br ${ovs_bridge}
${OVS_BIN}ovs-appctl -t ovsdb-server exit
${OVS_BIN}ovs-appctl -t ovs-vswitchd exit
rmmod openvswitch_mod
fi
modprobe bridge
Expand All @@ -62,21 +86,27 @@ elif [ ${network_type} == "ovs" ]; then
rmmod bridge
fi
insmod ${OVS_ROOT}/datapath/linux-2.6/openvswitch_mod.ko
ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db ${OVS_ROOT}/vswitchd/vswitch.ovsschema
ovs-appctl -t ovsdb-server exit
ovs-appctl -t ovs-vswitchd exit
gnome-terminal --command='ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --pidfile' &
ovs-vsctl init
gnome-terminal --command='ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock --pidfile' &
${OVS_BIN}/ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db ${OVS_ROOT}/vswitchd/vswitch.ovsschema
${OVS_BIN}/ovs-appctl -t ovsdb-server exit
${OVS_BIN}/ovs-appctl -t ovs-vswitchd exit
gnome-terminal --command="${OVS_SBIN}/ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --pidfile" &
${OVS_BIN}/ovs-vsctl init
gnome-terminal --command="${OVS_SBIN}/ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock --pidfile" &
sleep 1
ovs-vsctl -- --if-exists del-br ${ovs_bridge}
ovs-vsctl add-br ${ovs_bridge}
${OVS_BIN}/ovs-vsctl -- --if-exists del-br ${ovs_bridge}
${OVS_BIN}/ovs-vsctl add-br ${ovs_bridge}
sleep 1
ifconfig ${ovs_bridge} ${IP_address}
ovs-vsctl add-port ${ovs_bridge} ${network_device}
${OVS_BIN}/ovs-vsctl add-port ${ovs_bridge} ${network_device}
ifconfig ${network_device} 0.0.0.0 up
else
echo "error: ${network_type} unknown network type"
echo $usage
exit 1
fi

if [ ! -z $5 ]; then
route add default gw $5
fi


0 comments on commit 166185c

Please sign in to comment.