X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fetc_init.d_vswitch;h=bd621c106363a8739810cb455924f0bf8703c4fd;hb=a47f0840240e024071aa4a0e2ed27630f1337d68;hp=ae0b60682ee6a6428320a78ccf4f12ea7ea06234;hpb=b2cdfeae16fc4c7c7aedcc2b5e033abcaf52dc95;p=sliver-openvswitch.git diff --git a/xenserver/etc_init.d_vswitch b/xenserver/etc_init.d_vswitch index ae0b60682..bd621c106 100755 --- a/xenserver/etc_init.d_vswitch +++ b/xenserver/etc_init.d_vswitch @@ -24,7 +24,6 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch # General config variables in /etc/sysconfig/vswitch -: ${VSWITCH_BASE:=/root/vswitch} : ${ENABLE_BRCOMPAT:=y} : ${ENABLE_FAKE_PROC_NET:=y} : ${FORCE_COREFILES:=y} @@ -33,10 +32,10 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch : ${VSWITCHD_CONF:=/etc/ovs-vswitchd.conf} : ${VSWITCHD_PIDFILE:=/var/run/ovs-vswitchd.pid} : ${VSWITCHD_RUN_DIR:=/var/xen/vswitch} -: ${VSWITCHD_PRIORITY:=-5} +: ${VSWITCHD_PRIORITY:=-10} : ${VSWITCHD_LOGFILE:=/var/log/ovs-vswitchd.log} -: ${VSWITCHD_FILE_LOGLEVEL:=} -: ${VSWITCHD_SYSLOG_LOGLEVEL:=WARN} +: ${VSWITCHD_FILE_LOGLEVEL:=INFO} +: ${VSWITCHD_SYSLOG_LOGLEVEL:=ERR} : ${VSWITCHD_MEMLEAK_LOGFILE:=} : ${VSWITCHD_STRACE_LOG:=} : ${VSWITCHD_STRACE_OPT:=} @@ -46,10 +45,10 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch # Config variables specific to ovs-brcompatd : ${BRCOMPATD_PIDFILE:=/var/run/ovs-brcompatd.pid} : ${BRCOMPATD_RUN_DIR:=/var/xen/vswitch} -: ${BRCOMPATD_PRIORITY:=-5} +: ${BRCOMPATD_PRIORITY:=-10} : ${BRCOMPATD_LOGFILE:=/var/log/ovs-brcompatd.log} -: ${BRCOMPATD_FILE_LOGLEVEL:=} -: ${BRCOMPATD_SYSLOG_LOGLEVEL:=INFO} +: ${BRCOMPATD_FILE_LOGLEVEL:=INFO} +: ${BRCOMPATD_SYSLOG_LOGLEVEL:=ERR} : ${BRCOMPATD_MEMLEAK_LOGFILE:=} : ${BRCOMPATD_STRACE_LOG:=} : ${BRCOMPATD_STRACE_OPT:=} @@ -57,11 +56,11 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch : ${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" +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" if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then @@ -88,10 +87,10 @@ function remove_all_dp { function insert_modules_if_required { if ! lsmod | grep -q "openvswitch_mod"; then action "Inserting llc module" modprobe llc - action "Inserting openvswitch module" insmod $VSWITCH_BASE/kernel_modules/openvswitch_mod.ko + action "Inserting openvswitch module" modprobe openvswitch_mod fi if [ -n "$BRCOMPATD_PIDFILE" ] && ! lsmod | grep -q "brcompat_mod"; then - action "Inserting brcompat module" insmod $VSWITCH_BASE/kernel_modules/brcompat_mod.ko + action "Inserting brcompat module" modprobe brcompat_mod fi } @@ -106,9 +105,13 @@ function remove_modules { function reload_vswitchd { if [ -f "$VSWITCHD_PIDFILE" ]; then - "$appctl" \ - --target=ovs-vswitchd.$(cat "$VSWITCHD_PIDFILE").ctl \ - --execute=vswitchd/reload + "$appctl" --target=/var/run/ovs-vswitchd.`cat $VSWITCHD_PIDFILE`.ctl vswitchd/reload + fi +} + +function reload_brcompatd { + if [ -f "$BRCOMPATD_PIDFILE" ]; then + "$appctl" --target=/var/run/ovs-brcompatd.`cat $BRCOMPATD_PIDFILE`.ctl vlog/reopen fi } @@ -166,7 +169,7 @@ function start_brcompatd { mkdir -p "$BRCOMPATD_RUN_DIR" fi cd "$BRCOMPATD_RUN_DIR" - if [ ! -n "$BRCOMPATD_FILE_LOGLEVEL" ]; then + if [ -n "$BRCOMPATD_FILE_LOGLEVEL" ]; then logfile_level_opt="-vANY:FILE:${BRCOMPATD_FILE_LOGLEVEL}" logfile_file_opt="--log-file=$BRCOMPATD_LOGFILE" fi @@ -191,7 +194,7 @@ function start_brcompatd { valgrind_opt="valgrind --log-file=$BRCOMPATD_VALGRIND_LOG $BRCOMPATD_VALGRIND_OPT" daemonize="n" fi - appctl_cmd="$appctl -t /var/run/ovs-vswitchd.\`cat $VSWITCHD_PIDFILE\`.ctl -e '%s'" + appctl_cmd="$appctl --target=/var/run/ovs-vswitchd.\`cat $VSWITCHD_PIDFILE\`.ctl %s" if [ "$daemonize" != "y" ]; then # Start in background and force a "success" message action "Starting ovs-brcompatd ($strace_opt$valgrind_opt)" true @@ -258,16 +261,27 @@ function start { if [ ! -e "$VSWITCHD_CONF" ]; then warning "$VSWITCHD_CONF does not exist" action "Creating empty $VSWITCHD_CONF" touch "$VSWITCHD_CONF" + elif [ ! -e /var/run/vswitch.booted ]; then + touch /var/run/vswitch.booted + /usr/bin/ovs-cfg-mod '-vANY:console:emer' -F "$VSWITCHD_CONF" \ + '--del-match=bridge.*' \ + '--del-match=port.*' \ + '--del-match=bonding.*' \ + '--del-match=iface.*' \ + '--del-match=vlan.*.trunks=*' \ + '--del-match=vlan.*.tag=*' fi start_vswitchd start_brcompatd reload_vswitchd # ensures ovs-vswitchd has fully read config file. + touch /var/lock/subsys/vswitch } function stop { stop_brcompatd stop_vswitchd + rm -f /var/lock/subsys/vswitch } function restart { @@ -289,6 +303,7 @@ case "$1" in ;; reload) reload_vswitchd + reload_brcompatd ;; strace-vswitchd) shift @@ -303,8 +318,8 @@ case "$1" in status -p ovs-brcompatd.pid ovs-brcompatd ;; version) - "$VSWITCH_BASE"/sbin/ovs-vswitchd -V - "$VSWITCH_BASE"/sbin/ovs-brcompatd -V + /usr/sbin/ovs-vswitchd -V + /usr/sbin/ovs-brcompatd -V ;; help) printf "vswitch [start|stop|restart|reload|unload|status|version]\n"