From: Gurucharan Shetty Date: Thu, 28 Feb 2013 22:21:40 +0000 (-0800) Subject: ovs-ctl.in: Clean up code for the next commit. X-Git-Tag: sliver-openvswitch-1.10.90-1~10^2~112 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=737af96ddee6bed45e3f035c3f043a67bef2f295;p=sliver-openvswitch.git ovs-ctl.in: Clean up code for the next commit. Previously, we would null the variables holding the names of the restore scripts in case there were any errors in creating the restore script or if we did not need to run a particular restore script. That is not necessary, as we can just check the execution permission set on those scirpts. Also, carve out a couple of functions which will be used in the next commit. Signed-off-by: Gurucharan Shetty --- diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in index e186e710c..dd958a2dc 100755 --- a/utilities/ovs-ctl.in +++ b/utilities/ovs-ctl.in @@ -275,7 +275,6 @@ ovs_save () { chmod +x "$2" return 0 fi - eval $3="" [ -z "${bridges}" ] && return 0 } @@ -284,10 +283,9 @@ save_ofports_if_required () { case `ovs-appctl version | sed 1q` in "ovs-vswitchd (Open vSwitch) 1."[0-9].*) action "Saving ofport values" ovs_save save-ofports \ - "${script_ofports}" script_ofports + "${script_ofports}" ;; *) - script_ofports="" ;; esac } @@ -298,25 +296,43 @@ save_interfaces () { } restore_ofports () { - [ -n "${script_ofports}" ] && \ + [ -x "${script_ofports}" ] && \ action "Restoring ofport values" "${script_ofports}" } restore_flows () { - [ -n "${script_flows}" ] && \ + [ -x "${script_flows}" ] && \ action "Restoring saved flows" "${script_flows}" } -force_reload_kmod () { - ifaces=`internal_interfaces` - action "Detected internal interfaces: $ifaces" true +restore_interfaces () { + [ ! -x "${script_interfaces}" ] && return 0 + action "Restoring interface configuration" "${script_interfaces}" + rc=$? + if test $rc = 0; then + level=debug + else + level=err + fi + log="logger -p daemon.$level -t ovs-save" + $log "force-reload-kmod interface restore script exited with status $rc:" + $log -f "$script_interfaces" +} +init_restore_scripts () { script_interfaces=`mktemp` script_flows=`mktemp` script_ofports=`mktemp` trap 'rm -f "${script_interfaces}" "${script_flows}" "${script_ofports}"' 0 +} - action "Saving flows" ovs_save save-flows "${script_flows}" script_flows +force_reload_kmod () { + ifaces=`internal_interfaces` + action "Detected internal interfaces: $ifaces" true + + init_restore_scripts + + action "Saving flows" ovs_save save-flows "${script_flows}" save_ofports_if_required @@ -354,16 +370,7 @@ force_reload_kmod () { restore_flows - action "Restoring interface configuration" "$script_interfaces" - rc=$? - if test $rc = 0; then - level=debug - else - level=err - fi - log="logger -p daemon.$level -t ovs-save" - $log "force-reload-kmod interface restore script exited with status $rc:" - $log -f "$script_interfaces" + restore_interfaces "$datadir/scripts/ovs-check-dead-ifs" }