# Short-Description: Open vSwitch switch
### END INIT INFO
-. /usr/share/openvswitch/scripts/ovs-lib.sh || exit 1
+. /usr/share/openvswitch/scripts/ovs-lib || exit 1
. /etc/xensource-inventory
test -e /etc/sysconfig/openvswitch && . /etc/sysconfig/openvswitch
;;
esac
+start_ovs_xapi_sync () {
+ if daemon_is_running ovs-xapi-sync; then
+ log_success_msg "ovs-xapi-sync is already running"
+ else
+ PYTHONPATH=/usr/share/openvswitch/python \
+ /usr/share/openvswitch/scripts/ovs-xapi-sync \
+ --log-file --pidfile --detach --monitor unix:/var/run/openvswitch/db.sock
+ fi
+}
+
start () {
set $ovs_ctl ${1-start}
set "$@" --system-id="$INSTALLATION_UUID"
fi
"$@"
- if daemon_is_running ovs-xapi-sync; then
- log_success_msg "ovs-xapi-sync is already running"
- else
- PYTHONPATH=/usr/share/openvswitch/python \
- /usr/share/openvswitch/scripts/ovs-xapi-sync \
- --pidfile --detach --monitor unix:/var/run/openvswitch/db.sock
- fi
+ start_ovs_xapi_sync
$ovs_ctl --protocol=gre enable-protocol
touch /var/lock/subsys/openvswitch
}
+force_reload_kmod () {
+ start force-reload-kmod
+
+ # Restart the high-availability daemon if it is running. Otherwise
+ # it loses its heartbeat and reboots the system after a few minutes.
+ if pidof xhad >/dev/null && test -e /etc/xensource/xhad.conf; then
+ PATH=$PATH:/opt/xensource/xha
+ action "Stopping HA daemon" ha_stop_daemon
+ action "Starting HA daemon" ha_start_daemon
+ fi
+
+ action "Stopping ovs-xapi-sync" stop_daemon ovs-xapi-sync
+ action "Starting ovs-xapi-sync" start_ovs_xapi_sync
+}
+
stop () {
$ovs_ctl stop
stop_daemon ovs-xapi-sync
$ovs_ctl version
;;
force-reload-kmod)
- start force-reload-kmod
+ force_reload_kmod
;;
help)
printf "openvswitch [start|stop|restart|reload|force-reload|status|version]\n"