python: Upgrade daemon module to argparse.
[sliver-openvswitch.git] / xenserver / etc_init.d_openvswitch
index d638846..534b81d 100755 (executable)
@@ -44,7 +44,7 @@ case `cat /etc/xensource/network.conf` in
 esac
 
 start () {
-    set $ovs_ctl start
+    set $ovs_ctl ${1-start}
     set "$@" --system-id="$INSTALLATION_UUID"
     set "$@" --system-type="$PRODUCT_BRAND"
     set "$@" --system-version="$PRODUCT_VERSION-$BUILD_NUMBER"
@@ -76,12 +76,23 @@ start () {
             --pidfile --detach --monitor unix:/var/run/openvswitch/db.sock
     fi
 
-    # Allow GRE traffic.
-    /sbin/iptables -I INPUT -p gre -j ACCEPT
+    $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
+}
+
 stop () {
     $ovs_ctl stop
     stop_daemon ovs-xapi-sync
@@ -115,7 +126,7 @@ case $1 in
         $ovs_ctl version
         ;;
     force-reload-kmod)
-        $ovs_ctl force-reload-kmod
+        force_reload_kmod
         ;;
     help)
         printf "openvswitch [start|stop|restart|reload|force-reload|status|version]\n"