X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=xenserver%2Fetc_init.d_vswitch;h=18dd7bc69663f3fae3a14e0369a7e1b55237878e;hb=5c8ef29c2efb73ab3bc8ac30f1499fb6499692cf;hp=a8907c23392f2cf52d68a38d3dbbee9d680d4989;hpb=eaa3c7e88b315d1d018b702ed3b9bea768a966c5;p=openvswitch diff --git a/xenserver/etc_init.d_vswitch b/xenserver/etc_init.d_vswitch index a8907c23..18dd7bc6 100755 --- a/xenserver/etc_init.d_vswitch +++ b/xenserver/etc_init.d_vswitch @@ -34,8 +34,8 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch : ${VSWITCHD_RUN_DIR:=/var/xen/vswitch} : ${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:=} @@ -47,8 +47,8 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch : ${BRCOMPATD_RUN_DIR:=/var/xen/vswitch} : ${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:=} @@ -87,10 +87,13 @@ 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 + if [ -f "/lib/modules/`uname -r`/kernel/net/vswitch/ip_gre_mod.ko" ] && ! lsmod | grep -q "ip_gre_mod"; then + action "Inserting ip_gre module" modprobe ip_gre_mod fi } @@ -101,13 +104,20 @@ function remove_modules { if lsmod | grep -q "openvswitch_mod"; then action "Removing openvswitch module" rmmod openvswitch_mod.ko fi + if lsmod | grep -q "ip_gre_mod"; then + action "Removing ip_gre module" rmmod ip_gre_mod.ko + fi } 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 } @@ -165,7 +175,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 @@ -190,7 +200,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 @@ -254,19 +264,33 @@ function start { # ovs-vswitchd needs a few per bridge ulimit -n 4096 + # Allow GRE traffic. + iptables -I INPUT -p gre -j ACCEPT + 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 { @@ -288,6 +312,7 @@ case "$1" in ;; reload) reload_vswitchd + reload_brcompatd ;; strace-vswitchd) shift