+ovs_ctl_log () {
+ echo "$@" >> "${logdir}/ovs-ctl.log"
+}
+
+ovs_ctl () {
+ case "$@" in
+ *"=strace"*)
+ # In case of running the daemon with strace, piping the o/p causes
+ # the script to block (strace probably does not close the inherited
+ # pipe). So, do not log the o/p to ovs-ctl.log.
+ "${datadir}/scripts/ovs-ctl" "$@"
+ ;;
+ "status")
+ # In case of the command 'status', we should return the exit status
+ # of ovs-ctl. It is also useful to document the o/p in ovs-ctl.log.
+ display=`"${datadir}/scripts/ovs-ctl" "$@" 2>&1`
+ rc=$?
+ if test -w "${logdir}/ovs-ctl.log"; then
+ echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
+ else
+ echo "${display}"
+ fi
+ return ${rc}
+ ;;
+ *)
+ echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log"
+ "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log"
+ ;;
+ esac
+}
+