# chkconfig: 2345 09 91
# description: Manage Open vSwitch kernel modules and user-space daemons
-# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
+# Copyright (C) 2009, 2010, 2011 Nicira, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
;;
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"
touch /var/run/openvswitch.booted
set "$@" --delete-bridges
fi
+ set "$@" $OVS_CTL_OPTS
"$@"
- 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_ovs_xapi_sync
$ovs_ctl --protocol=gre enable-protocol
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 () {
rm -f /var/lock/subsys/openvswitch
}
+restart () {
+ if [ "$1" = "--save-flows=yes" ]; then
+ stop_daemon ovs-xapi-sync
+ start restart
+ else
+ stop
+ start
+ fi
+}
+
ovs_ctl=/usr/share/openvswitch/scripts/ovs-ctl
case $1 in
start)
stop
;;
restart)
- stop
- start
+ shift
+ restart "$@"
;;
reload|force-reload)
# The main OVS daemons keep up-to-date, but ovs-xapi-sync needs help.
- pidfile=/var/run/openvswitch/ovs-xapi-sync.pid
- if test -e "$pidfile"; then
- pid=`cat "$pidfile"`
- action "Configuring Open vSwitch external IDs" kill -HUP $pid
+ if daemon_is_running ovs-xapi-sync; then
+ action "Configuring Open vSwitch external IDs" \
+ ovs-appctl -t ovs-xapi-sync flush-cache
fi
;;
status)