X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fetc_init.d_openvswitch;h=534b81d16861f117a949b959d1744091f679c46d;hb=e75a14703b902feacf665e6893b0565e409ca175;hp=d638846947666a3e96adb0428e12ffd84f241115;hpb=5e77fcd36bb97fe2d98e377720f28619fe1824c8;p=sliver-openvswitch.git diff --git a/xenserver/etc_init.d_openvswitch b/xenserver/etc_init.d_openvswitch index d63884694..534b81d16 100755 --- a/xenserver/etc_init.d_openvswitch +++ b/xenserver/etc_init.d_openvswitch @@ -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"