X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=xenserver%2Fetc_init.d_vswitch;h=bb0011e37c060fce54b424eb4387202d2e8823d9;hb=df9fd4a52ebe447a7c2a4b2cfc4f4a4dd7f595af;hp=83d84ec2a9b960102dd06d94d6e0d2d0924f1f3d;hpb=612f6d49c5137ecaf407a5f8cc0a1e5ba4b4bca7;p=openvswitch diff --git a/xenserver/etc_init.d_vswitch b/xenserver/etc_init.d_vswitch index 83d84ec2..bb0011e3 100755 --- a/xenserver/etc_init.d_vswitch +++ b/xenserver/etc_init.d_vswitch @@ -24,40 +24,38 @@ 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}" +: ${VSWITCH_BASE:=/root/vswitch} +: ${ENABLE_BRCOMPAT:=y} +: ${ENABLE_FAKE_PROC_NET:=y} +: ${FORCE_COREFILES:=y} # 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:--5}" -VSWITCHD_LOGFILE="${VSWITCHD_LOGFILE:-/var/log/ovs-vswitchd.log}" -VSWITCHD_FILE_LOGLEVEL="${VSWITCHD_FILE_LOGLEVEL:-}" -VSWITCHD_SYSLOG_LOGLEVEL="${VSWITCHD_SYSLOG_LOGLEVEL:-WARN}" -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_CONF:=/etc/ovs-vswitchd.conf} +: ${VSWITCHD_PIDFILE:=/var/run/ovs-vswitchd.pid} +: ${VSWITCHD_RUN_DIR:=/var/xen/vswitch} +: ${VSWITCHD_PRIORITY:=-5} +: ${VSWITCHD_NETBACK_PRIORITY:=0} +: ${VSWITCHD_LOGFILE:=/var/log/ovs-vswitchd.log} +: ${VSWITCHD_FILE_LOGLEVEL:=} +: ${VSWITCHD_SYSLOG_LOGLEVEL:=WARN} +: ${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:--5}" -BRCOMPATD_LOGFILE="${BRCOMPATD_LOGFILE:-/var/log/ovs-brcompatd.log}" -BRCOMPATD_FILE_LOGLEVEL="${BRCOMPATD_FILE_LOGLEVEL:-}" -BRCOMPATD_SYSLOG_LOGLEVEL="${BRCOMPATD_SYSLOG_LOGLEVEL:-INFO}" -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:=-5} +: ${BRCOMPATD_LOGFILE:=/var/log/ovs-brcompatd.log} +: ${BRCOMPATD_FILE_LOGLEVEL:=} +: ${BRCOMPATD_SYSLOG_LOGLEVEL:=INFO} +: ${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" @@ -115,6 +113,28 @@ function reload_vswitchd { fi } +function quietly { + "$@" > /dev/null +} + +# renice_netback PRIORITY PID [PID...] +# +# Renices the netback processes given as each PID to nice level PRIORITY. +function renice_netback { + local pri=$1 + shift + + if test $# = 0; then + warning "Netback not running, nothing to renice" + return + fi + + for pid + do + action "Renicing netback (pid $pid) to priority $pri" quietly renice $pri -p $pid + done +} + function start_vswitchd { local syslog_opt="-vANY:SYSLOG:${VSWITCHD_SYSLOG_LOGLEVEL}" local logfile_file_opt="" @@ -152,6 +172,11 @@ function start_vswitchd { if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then fake_proc_net_opt="--fake-proc-net" fi + if [ "$VSWITCHD_NETBACK_PRIORITY" != default ]; then + renice_netback $VSWITCHD_NETBACK_PRIORITY $(pidof netback) + else + warning "Netback renicing disabled (see /etc/sysconfig/vswitch)" + fi if [ "$daemonize" != "y" ]; then # Start in background and force a "success" message action "Starting ovs-vswitchd ($strace_opt$valgrind_opt)" true @@ -258,6 +283,11 @@ function start { # ovs-vswitchd needs a few per bridge ulimit -n 4096 + if [ ! -e "$VSWITCHD_CONF" ]; then + warning "$VSWITCHD_CONF does not exist" + action "Creating empty $VSWITCHD_CONF" touch "$VSWITCHD_CONF" + fi + start_vswitchd start_brcompatd reload_vswitchd # ensures ovs-vswitchd has fully read config file.