Skip to content

Instantly share code, notes, and snippets.

@hchs710623
Created April 1, 2017 16:58
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save hchs710623/a7e202dc4b92cc06b3123cc160146840 to your computer and use it in GitHub Desktop.
#!/bin/sh
ovs_dir_conf="/usr/local/etc/openvswitch"
ovs_file_conf_db="${ovs_dir_conf}/conf.db"
ovs_file_schema="vswitchd/vswitch.ovsschema"
#ovs_file_schema="${ovs_dir_conf}/vswitch.ovsschema"
ovs_file_var="/usr/local/var/run/openvswitch"
start()
{
#
# Load openvswitch.ko
#
[ "`/sbin/lsmod | grep openvswitch`" = "" ] && /sbin/modprobe openvswitch
# create db
[ -d $ovs_dir_conf ] || mkdir -p $ovs_dir_conf
[ -f $ovs_file_conf_db ] || ovsdb-tool create $ovs_file_conf_db $ovs_file_schema
# start ovsdb server daemon
[ -d $ovs_file_var ] || mkdir -p $ovs_file_var
ovsdb-server --remote=punix:${ovs_file_var}/db.sock \
--remote=db:Open_vSwitch,Open_vSwitch,manager_options \
--private-key=db:Open_vSwitch,SSL,private_key \
--certificate=db:Open_vSwitch,SSL,certificate \
--bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach --log-file
# start ovs vswitch
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach --log-file
echo "start finished"
# add a bridge of ovs, type=internal
# ovs-vsctl --may-exist add-br br0
# add port for bridge, type=system
# ovs-vsctl --may-exist add-port br0 swp1 -- set Interface swp1 ofport_request=1
# ovs-vsctl --may-exist add-port br0 swp2 -- set Interface swp2 ofport_request=2
# ovs-vsctl --may-exist add-port br0 swp3 -- set Interface swp3 ofport_request=3
# ovs-vsctl --may-exist add-port br0 swp4 -- set Interface swp4 ofport_request=4
}
ended()
{
killall ovs-vswitchd ovsdb-server > /dev/null 2>&1
rm -f $ovs_dir_conf/.conf.db.~lock~
#
# un-load openvswitch.ko
#
/sbin/rmmod openvswitch > /dev/null 2>&1
echo "ended finished"
}
case $1 in
s)
start
;;
e)
ended
;;
*)
echo "usage sudo ./ovs [s|e]"
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment