X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetlab%2Fscripts%2Fsliver-ovs;h=6a7319843f71888efb4cd54f5560767dd244d59b;hb=4a40a064745e87fad6c6b16b38b41394ed3ac743;hp=026e6b4b96c09cbfa8b6badbf63045ada37e1492;hpb=6e6df6066ed08aa0de62ff5561b12382da4061e9;p=sliver-openvswitch.git diff --git a/planetlab/scripts/sliver-ovs b/planetlab/scripts/sliver-ovs index 026e6b4b9..6a7319843 100755 --- a/planetlab/scripts/sliver-ovs +++ b/planetlab/scripts/sliver-ovs @@ -11,6 +11,7 @@ DB_CONF_FILE=/etc/openvswitch/conf.db DB_SCHEMA=/usr/share/openvswitch/vswitch.ovsschema DB_PID_FILE=/var/run/openvswitch/db.pid DB_LOG=/var/log/ovs-db.log +DB_CTL_PATTERN='ovsdb-server.*.ctl' ## DB_SOCKET=/var/run/openvswitch/db.sock ## @@ -99,11 +100,9 @@ function start_db () { echo 'ovsdb-server appears to be running already, *not* starting' fi wait_server $DB_PID_FILE ovsdb-server 30 + echo $DB_PID_FILE } -function stop_db () { pkill ovsdb-server; } - - function start_switch () { [[ -n "$@" ]] && error "Usage: $COMMAND start-switch" @@ -121,7 +120,17 @@ function start_switch () { wait_server $SWITCH_PID_FILE ovs-vswitchd 30 } -function stop_switch () { pkill ovs-vswitchd ; } +# first dumb stab just read "pkill ovsdb-server" and "pkill ovs-vswitchd" +# quick and dirty : we locate the control file through a search in /var/run +# caller should be requested to remember and provide this pid instead +function stop_db () { + controlfile=$(ls $RUN_DIR/$DB_CTL_PATTERN) + [ -f $controlfile ] && ovs-appctl --target=$controlfile exit +} + +function stop_switch () { + ovs-appctl --target=$SWITCH_SOCKET exit || : +} function status () { pids=$(pgrep '^ovs')