From: Ben Pfaff Date: Thu, 25 Mar 2010 19:30:05 +0000 (-0700) Subject: Merge "citrix" branch into "master". X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0bc29a541fc7dc6e20137d5558e2094d614e6ab;p=openvswitch Merge "citrix" branch into "master". This merge is long overdue, simply because I forgot that there were outstanding changes on "citrix" that had not yet been merged. The important fix here is the addition of mlockall. This fixes some bugs seen under stressful conditions in XenServer. --- a0bc29a541fc7dc6e20137d5558e2094d614e6ab diff --cc ChangeLog index 1acda09a,9cfa8b93..e9ba2551 --- a/ChangeLog +++ b/ChangeLog @@@ -1,17 -1,7 +1,22 @@@ +v0.99.2 - 18 Feb 2010 +--------------------- + - Bug fixes + +v0.99.1 - 25 Jan 2010 +--------------------- + - Add support for sFlow(R) + - Make headers compatible with C++ + - Bug fixes + +v0.99.0 - 14 Jan 2010 +--------------------- + - User-space forwarding engine + - Bug fixes ++ + v0.90.7 - 29 Nov 2009 + --------------------- + - Add support for NetFlow active timeouts + - Bug fixes v0.90.6 - 6 Oct 2009 -------------------- diff --cc configure.ac index 6d49484f,55df342b..e8497e1f --- a/configure.ac +++ b/configure.ac @@@ -48,11 -44,9 +48,12 @@@ OVS_CHECK_LOGDI OVS_CHECK_CURSES OVS_CHECK_LINUX_VT_H OVS_CHECK_PCRE +OVS_CHECK_PYTHON OVS_CHECK_IF_PACKET OVS_CHECK_STRTOK_R +AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec], + [], [], [[#include ]]) + AC_CHECK_FUNCS([mlockall]) OVS_CHECK_PKIDIR OVS_CHECK_RUNDIR diff --cc vswitchd/ovs-vswitchd.c index 7b0661ec,3309c080..c1acfc41 --- a/vswitchd/ovs-vswitchd.c +++ b/vswitchd/ovs-vswitchd.c @@@ -22,8 -22,12 +22,11 @@@ #include #include #include + #ifdef HAVE_MLOCKALL + #include + #endif #include "bridge.h" -#include "cfg.h" #include "command-line.h" #include "compiler.h" #include "daemon.h" @@@ -136,10 -151,10 +139,11 @@@ parse_options(int argc, char *argv[] { enum { OPT_PEER_CA_CERT = UCHAR_MAX + 1, + OPT_MLOCKALL, OPT_FAKE_PROC_NET, VLOG_OPTION_ENUMS, - LEAK_CHECKER_OPTION_ENUMS + LEAK_CHECKER_OPTION_ENUMS, + OPT_BOOTSTRAP_CA_CERT }; static struct option long_options[] = { {"help", no_argument, 0, 'h'}, diff --cc xenserver/etc_init.d_vswitch index 7a8b83e6,e8e04ad2..9b05879a --- a/xenserver/etc_init.d_vswitch +++ b/xenserver/etc_init.d_vswitch @@@ -24,63 -24,49 +24,64 @@@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch # General config variables in /etc/sysconfig/vswitch -VSWITCH_BASE="${VSWITCH_BASE:-/root/vswitch}" -ENABLE_BRCOMPAT="${ENABLE_BRCOMPAT:-y}" -ENABLE_FAKE_PROC_NET="${ENABLE_FAKE_PROC_NET:-y}" -FORCE_COREFILES="${FORCE_COREFILES:-y}" +: ${ENABLE_BRCOMPAT:=y} +: ${ENABLE_FAKE_PROC_NET:=y} +: ${ENABLE_MONITOR:=y} +: ${FORCE_COREFILES:=y} + +# Config variables specific to ovsdb-server +: ${OVSDB_SERVER_REMOTES:=punix:/var/run/ovsdb-server db:Open_vSwitch,managers} +: ${OVSDB_SERVER_DB:=/etc/ovs-vswitchd.conf.db} +: ${OVSDB_SERVER_PIDFILE:=/var/run/ovsdb-server.pid} +: ${OVSDB_SERVER_RUN_DIR:=/var/xen/vswitch} +: ${OVSDB_SERVER_PRIORITY:=-10} +: ${OVSDB_SERVER_LOGFILE:=/var/log/ovsdb-server.log} +: ${OVSDB_SERVER_FILE_LOGLEVEL:=INFO} +: ${OVSDB_SERVER_SYSLOG_LOGLEVEL:=ERR} +: ${OVSDB_SERVER_MEMLEAK_LOGFILE:=} +: ${OVSDB_SERVER_STRACE_LOG:=} +: ${OVSDB_SERVER_STRACE_OPT:=} +: ${OVSDB_SERVER_VALGRIND_LOG:=} +: ${OVSDB_SERVER_VALGRIND_OPT:=} # Config variables specific to ovs-vswitchd -VSWITCHD_CONF="${VSWITCHD_CONF:-/etc/ovs-vswitchd.conf}" -VSWITCHD_PIDFILE="${VSWITCHD_PIDFILE:-/var/run/ovs-vswitchd.pid}" -VSWITCHD_RUN_DIR="${VSWITCHD_RUN_DIR:-/var/xen/vswitch}" -VSWITCHD_PRIORITY="${VSWITCHD_PRIORITY:--10}" -VSWITCHD_MLOCKALL="${VSWITCHD_MLOCKALL:-yes}" -VSWITCHD_LOGFILE="${VSWITCHD_LOGFILE:-/var/log/ovs-vswitchd.log}" -VSWITCHD_FILE_LOGLEVEL="${VSWITCHD_FILE_LOGLEVEL:-INFO}" -VSWITCHD_SYSLOG_LOGLEVEL="${VSWITCHD_SYSLOG_LOGLEVEL:-ERR}" -VSWITCHD_MEMLEAK_LOGFILE="${VSWITCHD_MEMLEAK_LOGFILE:-}" -VSWITCHD_STRACE_LOG="${VSWITCHD_STRACE_LOG:-}" -VSWITCHD_STRACE_OPT="${VSWITCHD_STRACE_OPT:-}" -VSWITCHD_VALGRIND_LOG="${VSWITCHD_VALGRIND_LOG:-}" -VSWITCHD_VALGRIND_OPT="${VSWITCHD_VALGRIND_OPT:-}" +: ${VSWITCHD_OVSDB_SERVER:=unix:/var/run/ovsdb-server} +: ${VSWITCHD_OVSDB_SCHEMA:=/usr/share/vswitch/vswitch.ovsschema} +: ${VSWITCHD_PIDFILE:=/var/run/ovs-vswitchd.pid} +: ${VSWITCHD_RUN_DIR:=/var/xen/vswitch} +: ${VSWITCHD_PRIORITY:=-10} ++: ${VSWITCHD_MLOCKALL:=yes} +: ${VSWITCHD_LOGFILE:=/var/log/ovs-vswitchd.log} +: ${VSWITCHD_FILE_LOGLEVEL:=INFO} +: ${VSWITCHD_SYSLOG_LOGLEVEL:=ERR} +: ${VSWITCHD_MEMLEAK_LOGFILE:=} +: ${VSWITCHD_STRACE_LOG:=} +: ${VSWITCHD_STRACE_OPT:=} +: ${VSWITCHD_VALGRIND_LOG:=} +: ${VSWITCHD_VALGRIND_OPT:=} # Config variables specific to ovs-brcompatd -BRCOMPATD_PIDFILE="${BRCOMPATD_PIDFILE:-/var/run/ovs-brcompatd.pid}" -BRCOMPATD_RUN_DIR="${BRCOMPATD_RUN_DIR:-/var/xen/vswitch}" -BRCOMPATD_PRIORITY="${BRCOMPATD_PRIORITY:--10}" -BRCOMPATD_LOGFILE="${BRCOMPATD_LOGFILE:-/var/log/ovs-brcompatd.log}" -BRCOMPATD_FILE_LOGLEVEL="${BRCOMPATD_FILE_LOGLEVEL:-INFO}" -BRCOMPATD_SYSLOG_LOGLEVEL="${BRCOMPATD_SYSLOG_LOGLEVEL:-ERR}" -BRCOMPATD_MEMLEAK_LOGFILE="${BRCOMPATD_MEMLEAK_LOGFILE:-}" -BRCOMPATD_STRACE_LOG="${BRCOMPATD_STRACE_LOG:-}" -BRCOMPATD_STRACE_OPT="${BRCOMPATD_STRACE_OPT:-}" -BRCOMPATD_VALGRIND_LOG="${BRCOMPATD_VALGRIND_LOG:-}" -BRCOMPATD_VALGRIND_OPT="${BRCOMPATD_VALGRIND_OPT:-}" - - - +: ${BRCOMPATD_PIDFILE:=/var/run/ovs-brcompatd.pid} +: ${BRCOMPATD_RUN_DIR:=/var/xen/vswitch} +: ${BRCOMPATD_PRIORITY:=-10} +: ${BRCOMPATD_LOGFILE:=/var/log/ovs-brcompatd.log} +: ${BRCOMPATD_FILE_LOGLEVEL:=INFO} +: ${BRCOMPATD_SYSLOG_LOGLEVEL:=ERR} +: ${BRCOMPATD_MEMLEAK_LOGFILE:=} +: ${BRCOMPATD_STRACE_LOG:=} +: ${BRCOMPATD_STRACE_OPT:=} +: ${BRCOMPATD_VALGRIND_LOG:=} +: ${BRCOMPATD_VALGRIND_OPT:=} # Full paths to executables & modules -vswitchd="$VSWITCH_BASE/sbin/ovs-vswitchd" -brcompatd="$VSWITCH_BASE/sbin/ovs-brcompatd" -dpctl="$VSWITCH_BASE/bin/ovs-dpctl" -appctl="$VSWITCH_BASE/bin/ovs-appctl" -ofctl="$VSWITCH_BASE/bin/ovs-ofctl" - +ovsdb_server="/usr/sbin/ovsdb-server" +ovsdb_tool="/usr/bin/ovsdb-tool" +vswitchd="/usr/sbin/ovs-vswitchd" +brcompatd="/usr/sbin/ovs-brcompatd" +dpctl="/usr/bin/ovs-dpctl" +appctl="/usr/bin/ovs-appctl" +ofctl="/usr/bin/ovs-ofctl" +vsctl="/usr/bin/ovs-vsctl" if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then if [ "$ENABLE_BRCOMPAT" != "y" ]; then @@@ -221,9 -166,9 +225,9 @@@ function start_vswitchd if [ "$daemonize" != "y" ]; then # Start in background and force a "success" message action "Starting ovs-vswitchd ($strace_opt$valgrind_opt)" true - (nice -n "$VSWITCHD_PRIORITY" $strace_opt $valgrind_opt "$vswitchd" --pidfile="$VSWITCHD_PIDFILE" --detach $monitor_opt --no-chdir $fake_proc_net_opt -vANY:CONSOLE:EMER $syslog_opt $logfile_level_opt $logfile_file_opt $leak_opt "$VSWITCHD_OVSDB_SERVER") & - (nice -n "$VSWITCHD_PRIORITY" $strace_opt $valgrind_opt "$vswitchd" --pidfile="$VSWITCHD_PIDFILE" --detach --no-chdir $fake_proc_net_opt -vANY:CONSOLE:EMER $syslog_opt $logfile_level_opt $logfile_file_opt $leak_opt $mlockall_opt "$VSWITCHD_CONF") & ++ (nice -n "$VSWITCHD_PRIORITY" $strace_opt $valgrind_opt "$vswitchd" --pidfile="$VSWITCHD_PIDFILE" --detach $monitor_opt --no-chdir $fake_proc_net_opt -vANY:CONSOLE:EMER $syslog_opt $logfile_level_opt $logfile_file_opt $leak_opt $mlockall_opt "$VSWITCHD_OVSDB_SERVER") & else - action "Starting ovs-vswitchd" nice -n "$VSWITCHD_PRIORITY" "$vswitchd" --pidfile="$VSWITCHD_PIDFILE" --detach $monitor_opt --no-chdir $fake_proc_net_opt -vANY:CONSOLE:EMER $syslog_opt $logfile_level_opt $logfile_file_opt $leak_opt "$VSWITCHD_OVSDB_SERVER" - action "Starting ovs-vswitchd" nice -n "$VSWITCHD_PRIORITY" "$vswitchd" --pidfile="$VSWITCHD_PIDFILE" --detach --no-chdir $fake_proc_net_opt -vANY:CONSOLE:EMER $syslog_opt $logfile_level_opt $logfile_file_opt $leak_opt $mlockall_opt "$VSWITCHD_CONF" ++ action "Starting ovs-vswitchd" nice -n "$VSWITCHD_PRIORITY" "$vswitchd" --pidfile="$VSWITCHD_PIDFILE" --detach $monitor_opt --no-chdir $fake_proc_net_opt -vANY:CONSOLE:EMER $syslog_opt $logfile_level_opt $logfile_file_opt $leak_opt $mlockall_opt "$VSWITCHD_OVSDB_SERVER" fi } diff --cc xenserver/usr_share_vswitch_scripts_sysconfig.template index 8b740c2e,00000000..4d5efcab mode 100644,000000..100644 --- a/xenserver/usr_share_vswitch_scripts_sysconfig.template +++ b/xenserver/usr_share_vswitch_scripts_sysconfig.template @@@ -1,227 -1,0 +1,234 @@@ +### Configuration options for vswitch + +# Copyright (C) 2009, 2010 Nicira Networks, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without warranty of any kind. + +# ENABLE_BRCOMPAT: If 'y' than emulate linux bridging interfaces +# using the brcompat kernel module and ovs-brcompatd daemon +# ENABLE_BRCOMPAT=y + +# ENABLE_FAKE_PROC_NET: If 'y' then emulate linux bonding and vlan +# files in /proc as if the bonding and vlan demultiplexing done in +# ovs-vswitchd were being implemented using existing Linux mechanisms. +# This is useful in some cases when replacing existing solutions. +# ENABLE_FAKE_PROC_NET=y + +# ENABLE_MONITOR: If 'y' then monitor daemon processes and restart them +# if they die due to an error signal. +# ENABLE_MONITOR=y + +# FORCE_COREFILES: If 'y' then core files will be enabled. +# FORCE_COREFILES=y + +# COREFILE_PATTERN: Pattern used to determine path and filename for +# core files when FORCE_COREFILES is 'y'. This is Linux specific. +# See the manpage for "core". +# COREFILE_PATTERN="/var/log/%e-%t" + +# OVSDB_SERVER_REMOTES: Space-separated list of methods on which to have +# ovsdb-server listen or connect for a JSON-RPC connection. +# OVSDB_SERVER_REMOTES="punix:/var/run/ovsdb-server db:Open_vSwitch,managers" + +# OVSDB_SERVER_DB: File for which ovsdb-server uses for storage. +# OVSDB_SERVER_DB=/etc/ovs-vswitchd.conf.db + +# OVSDB_SERVER_PIDFILE: File in which to store the pid of the running +# ovsdb-server. +# OVSDB_SERVER_PIDFILE=/var/run/ovsdb-server.pid + +# OVSDB_SERVER_RUN_DIR: Set the directory in which ovsdb-server should be +# run. This mainly affects where core files will be placed. +# OVSDB_SERVER_RUN_DIR=/var/xen/vswitch + +# OVSDB_SERVER_PRIORITY: "nice" priority at which to run ovsdb-server and +# related processes. +# OVSDB_SERVER_PRIORITY=-10 + +# OVSDB_SERVER_LOGFILE: File to send the FILE_LOGLEVEL log messages to. +# OVSDB_SERVER_LOGFILE=/var/log/ovsdb-server.log + +# OVSDB_SERVER_FILE_LOGLEVEL: Log level at which to log into the +# OVSDB_SERVER_LOG file. If this is null or not set the logfile will +# not be created and nothing will be sent to it. This is the +# default. The available options are: EMER, WARN, INFO and DBG. +# OVSDB_SERVER_FILE_LOGLEVEL="" + +# OVSDB_SERVER_SYSLOG_LOGLEVEL: Log level at which to log into syslog. If +# this is null or not set the default is to log to syslog +# emergency and warning level messages only. +# OVSDB_SERVER_SYSLOG_LOGLEVEL="WARN" + +# OVSDB_SERVER_MEMLEAK_LOGFILE: File for logging memory leak data. +# Enabling this option will slow ovsdb-server significantly. Do not +# enable it except to debug a suspected memory leak. Use the +# ovs-parse-leaks utility included with Open vSwitch to parse the +# log file. For best results, you also need debug symbols. +# OVSDB_SERVER_MEMLEAK_LOGFILE="" + +# OVSDB_SERVER_STRACE_LOG: File for logging strace output. +# If this is set to a nonempty string, then ovsdb-server will run +# under strace, whose output will be logged to the specified file. +# Enabling this option will slow ovsdb-server significantly. +# OVSDB_SERVER_STRACE_LOG and OVSDB_SERVER_VALGRIND_LOG are mutually +# exclusive. +# OVSDB_SERVER_STRACE_LOG="" + +# OVSDB_SERVER_STRACE_OPT: Options to pass to strace. +# This option's value is honored only when OVSDB_SERVER_STRACE_LOG is +# set to a nonempty string. +# OVSDB_SERVER_STRACE_OPT="" + +# OVSDB_SERVER_VALGRIND_LOG: File for logging valgrind output. +# If this is set to a nonempty string, then ovsdb-server will run +# under valgrind, whose output will be logged to the specified file. +# Enabling this option will slow ovsdb-server by 100X or more. +# valgrind is not installed by default on XenServer systems; you must +# install it by hand to usefully enable this option. +# OVSDB_SERVER_STRACE_LOG and OVSDB_SERVER_VALGRIND_LOG are mutually +# exclusive. +# OVSDB_SERVER_VALGRIND_LOG="" + +# OVSDB_SERVER_VALGRIND_OPT: Options to pass to valgrind. +# This option's value is honored only when OVSDB_SERVER_VALGRIND_LOG is +# set to a nonempty string. +# OVSDB_SERVER_VALGRIND_OPT="" + +# VSWITCHD_OVSDB_SERVER: Method to have ovs-vswitchd initiate a JSON-RPC +# connection to an ovsdb-server instance. +# VSWITCHD_OVSDB_SERVER=unix:/var/run/ovsdb-server + +# VSWITCHD_OVSDB_SCHEMA: Schema file to use for generating a new OVSDB +# ovs-vswitchd database. +# VSWITCHD_OVSDB_SCHEMA=/usr/share/vswitch/vswitch.ovsschema + +# VSWITCHD_PIDFILE: File in which to store the pid of the running +# ovs-vswitchd. +# VSWITCHD_PIDFILE=/var/run/ovs-vswitchd.pid + +# VSWITCHD_RUN_DIR: Set the directory in which ovs-vswitchd should be +# run. This mainly affects where core files will be placed. +# VSWITCHD_RUN_DIR=/var/xen/vswitch + +# VSWITCHD_PRIORITY: "nice" priority at which to run ovs-vswitchd and related +# processes. +# VSWITCHD_PRIORITY=-10 + ++# VSWITCHD_MLOCKALL: Whether to pass ovs-vswitchd the --mlockall option. ++# This option should be set to "yes" or "no". The default is "yes". ++# Enabling this option can avoid networking interruptions due to ++# system memory pressure in extraordinary situations, such as multiple ++# concurrent VM import operations. ++# VSWITCHD_MLOCKALL=yes ++ +# VSWITCHD_LOGFILE: File to send the FILE_LOGLEVEL log messages to. +# VSWITCHD_LOGFILE=/var/log/ovs-vswitchd.log + +# VSWITCHD_FILE_LOGLEVEL: Log level at which to log into the +# VSWITCHD_LOG file. If this is null or not set the logfile will +# not be created and nothing will be sent to it. This is the +# default. The available options are: EMER, WARN, INFO and DBG. +# VSWITCHD_FILE_LOGLEVEL="" + +# VSWITCHD_SYSLOG_LOGLEVEL: Log level at which to log into syslog. If +# this is null or not set the default is to log to syslog +# emergency and warning level messages only. +# VSWITCHD_SYSLOG_LOGLEVEL="WARN" + +# VSWITCHD_MEMLEAK_LOGFILE: File for logging memory leak data. +# Enabling this option will slow ovs-vswitchd significantly. Do not +# enable it except to debug a suspected memory leak. Use the +# ovs-parse-leaks utility included with Open vSwitch to parse the +# log file. For best results, you also need debug symbols. +# VSWITCHD_MEMLEAK_LOGFILE="" + +# VSWITCHD_STRACE_LOG: File for logging strace output. +# If this is set to a nonempty string, then ovs-vswitchd will run +# under strace, whose output will be logged to the specified file. +# Enabling this option will slow ovs-vswitchd significantly. +# VSWITCHD_STRACE_LOG and VSWITCHD_VALGRIND_LOG are mutually exclusive. +# VSWITCHD_STRACE_LOG="" + +# VSWITCHD_STRACE_OPT: Options to pass to strace. +# This option's value is honored only when VSWITCHD_STRACE_LOG is +# set to a nonempty string. +# VSWITCHD_STRACE_OPT="" + +# VSWITCHD_VALGRIND_LOG: File for logging valgrind output. +# If this is set to a nonempty string, then ovs-vswitchd will run +# under valgrind, whose output will be logged to the specified file. +# Enabling this option will slow ovs-vswitchd by 100X or more. +# valgrind is not installed by default on XenServer systems; you must +# install it by hand to usefully enable this option. +# VSWITCHD_STRACE_LOG and VSWITCHD_VALGRIND_LOG are mutually exclusive. +# VSWITCHD_VALGRIND_LOG="" + +# VSWITCHD_VALGRIND_OPT: Options to pass to valgrind. +# This option's value is honored only when VSWITCHD_VALGRIND_LOG is +# set to a nonempty string. +# VSWITCHD_VALGRIND_OPT="" + +# BRCOMPATD_PIDFILE: File in which to store the pid of the running +# ovs-brcompatd (the Linux bridge compatibility daemon for ovs-vswitchd). +# If this is the empty string, ovs-brcompatd will not be started and +# the brcompat_mod kernel module will not be inserted. Note that +# the default is to use brcompat! +# BRCOMPATD_PIDFILE=/var/run/ovs-brcompatd.pid + +# BRCOMPATD_RUN_DIR: Set the directory in which ovs-brcompatd should be +# run. This mainly affects where core files will be placed. +# BRCOMPATD_RUN_DIR=/var/xen/vswitch + +# BRCOMPATD_PRIORITY: "nice" priority at which to run ovs-vswitchd and related +# processes. +# BRCOMPATD_PRIORITY=-10 + +# BRCOMPATD_LOGFILE: File to send the FILE_LOGLEVEL log messages to. +# BRCOMPATD_LOGFILE=/var/log/ovs-brcompatd.log + +# BRCOMPATD_FILE_LOGLEVEL: Log level at which to log into the +# BRCOMPATD_LOG file. If this is null or not set the logfile will +# not be created and nothing will be sent to it. This is the +# default. The available options are: EMER, WARN, INFO and DBG. +# BRCOMPATD_FILE_LOGLEVEL="" + +# BRCOMPATD_SYSLOG_LOGLEVEL: Log level at which to log into syslog. If +# this is null or not set the default is to log to syslog +# emergency and warning level messages only. +# BRCOMPATD_SYSLOG_LOGLEVEL="WARN" + +# BRCOMPATD_MEMLEAK_LOGFILE: File for logging memory leak data. +# Enabling this option will slow ovs-brcompatd significantly. Do not +# enable it except to debug a suspected memory leak. Use the +# ovs-parse-leaks utility included with Open vSwitch to parse the +# log file. For best results, you also need debug symbols. +# BRCOMPATD_MEMLEAK_LOGFILE="" + +# BRCOMPATD_STRACE_LOG: File for logging strace output. +# If this is set to a nonempty string, then ovs-brcompatd will run +# under strace, whose output will be logged to the specified file. +# Enabling this option will slow brcompatd significantly. +# BRCOMPATD_STRACE_LOG and BRCOMPATD_VALGRIND_LOG are mutually exclusive. +# BRCOMPATD_STRACE_LOG="" + +# BRCOMPATD_STRACE_OPT: Options to pass to strace. +# This option's value is honored only when BRCOMPATD_STRACE_LOG is +# set to a nonempty string. +# BRCOMPATD_STRACE_OPT="" + +# BRCOMPATD_VALGRIND_LOG: File for logging valgrind output. +# If this is set to a nonempty string, then ovs-brcompatd will run +# under valgrind, whose output will be logged to the specified file. +# Enabling this option will slow brcompatd by 100X or more. +# valgrind is not installed by default on XenServer systems; you must +# install it by hand to usefully enable this option. +# BRCOMPATD_STRACE_LOG and BRCOMPATD_VALGRIND_LOG are mutually exclusive. +# BRCOMPATD_VALGRIND_LOG="" + +# BRCOMPATD_VALGRIND_OPT: Options to pass to valgrind. +# This option's value is honored only when BRCOMPATD_VALGRIND_LOG is +# set to a nonempty string. +# BRCOMPATD_VALGRIND_OPT=""