X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fetc_init.d_openvswitch;h=9c0fe80b15808aead643134f49dc9641bc82e09a;hb=ec9f40dce11c7e81bc41d42e3bbfaaf8287165ce;hp=29f2cf6051c41d7d3e446066db7b83ef5242af93;hpb=f40af195a5b399a6a6cd8d6e91f0c7c2b6e3efc6;p=sliver-openvswitch.git diff --git a/xenserver/etc_init.d_openvswitch b/xenserver/etc_init.d_openvswitch index 29f2cf605..9c0fe80b1 100755 --- a/xenserver/etc_init.d_openvswitch +++ b/xenserver/etc_init.d_openvswitch @@ -5,7 +5,7 @@ # 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. @@ -54,7 +54,7 @@ start_ovs_xapi_sync () { } start () { - set $ovs_ctl ${1-start} + set ovs_ctl ${1-start} set "$@" --system-id="$INSTALLATION_UUID" set "$@" --system-type="$PRODUCT_BRAND" set "$@" --system-version="$PRODUCT_VERSION-$BUILD_NUMBER" @@ -76,11 +76,12 @@ start () { touch /var/run/openvswitch.booted set "$@" --delete-bridges fi + set "$@" $OVS_CTL_OPTS "$@" start_ovs_xapi_sync - $ovs_ctl --protocol=gre enable-protocol + ovs_ctl --protocol=gre enable-protocol touch /var/lock/subsys/openvswitch } @@ -101,12 +102,21 @@ force_reload_kmod () { } stop () { - $ovs_ctl stop + ovs_ctl stop stop_daemon ovs-xapi-sync rm -f /var/lock/subsys/openvswitch } -ovs_ctl=/usr/share/openvswitch/scripts/ovs-ctl +restart () { + if [ "$1" = "--save-flows=yes" ]; then + stop_daemon ovs-xapi-sync + start restart + else + stop + start + fi +} + case $1 in start) start @@ -115,22 +125,21 @@ case $1 in 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) - $ovs_ctl status && daemon_status ovs-xapi-sync + ovs_ctl status && daemon_status ovs-xapi-sync ;; version) - $ovs_ctl version + ovs_ctl version ;; force-reload-kmod) force_reload_kmod