X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=xenserver%2Fetc_init.d_openvswitch;h=36d0afddd98405a5cdfb8cbc0dec1b3e8b93dadb;hb=4e312e694f1e9e34ed0aad7d5778b73d7add270d;hp=24d82261fd407debf0de7d21a55e6f44f04384ce;hpb=9cad684489e19b10019b5ae045decfb8f1311772;p=openvswitch diff --git a/xenserver/etc_init.d_openvswitch b/xenserver/etc_init.d_openvswitch index 24d82261..36d0afdd 100755 --- a/xenserver/etc_init.d_openvswitch +++ b/xenserver/etc_init.d_openvswitch @@ -24,6 +24,19 @@ . /etc/xensource-inventory test -e /etc/sysconfig/openvswitch && . /etc/sysconfig/openvswitch +NETWORK_MODE=$(cat /etc/xensource/network.conf) +case $NETWORK_MODE in + vswitch|openvswitch) + ;; + bridge) + exit 0 + ;; + *) + echo "Open vSwitch disabled (/etc/xensource/network.conf is invalid)" >&2 + exit 0 + ;; +esac + # General config variables in /etc/sysconfig/openvswitch if test "$PRODUCT_VERSION" = "5.5.0"; then # XenServer 5.5.0 needs ovs-brcompatd and /proc/net simulation. @@ -81,25 +94,11 @@ fi : ${BRCOMPATD_VALGRIND_LOG:=} : ${BRCOMPATD_VALGRIND_OPT:=} -# Config variables specific to ovs-xenserverd -: ${XENSERVERD_PIDFILE:=/var/run/openvswitch/ovs-xenserverd.pid} -: ${XENSERVERD_RUN_DIR:=/var/xen/openvswitch} -: ${XENSERVERD_PRIORITY:=} -: ${XENSERVERD_LOGFILE:=} -: ${XENSERVERD_FILE_LOGLEVEL:=} -: ${XENSERVERD_SYSLOG_LOGLEVEL:=} -: ${XENSERVERD_MEMLEAK_LOGFILE:=} -: ${XENSERVERD_STRACE_LOG:=} -: ${XENSERVERD_STRACE_OPT:=} -: ${XENSERVERD_VALGRIND_LOG:=} -: ${XENSERVERD_VALGRIND_OPT:=} - # Full paths to executables & modules ovsdb_server="/usr/sbin/ovsdb-server" ovsdb_tool="/usr/bin/ovsdb-tool" vswitchd="/usr/sbin/ovs-vswitchd" brcompatd="/usr/sbin/ovs-brcompatd" -xenserverd="/usr/sbin/ovs-xenserverd" dpctl="/usr/bin/ovs-dpctl" appctl="/usr/bin/ovs-appctl" ofctl="/usr/bin/ovs-ofctl" @@ -140,9 +139,6 @@ function insert_modules_if_required { if [ "$ENABLE_BRCOMPAT" = "y" ] && [ -n "$BRCOMPATD_PIDFILE" ] && ! lsmod | grep -q "brcompat_mod"; then action "Inserting brcompat module" modprobe brcompat_mod fi - if [ -f "/lib/modules/`uname -r`/kernel/extra/openvswitch/veth_mod.ko" ] && ! lsmod | grep -q "veth_mod"; then - action "Inserting veth module" modprobe veth_mod - fi } function remove_modules { @@ -216,7 +212,7 @@ function start_daemon { action "Starting `basename $BINARY`" "$@" else # Start in background and force a "success" message - action "Starting ovs-vswitchd with $mode debugging" true + action "Starting `basename $BINARY` with $mode debugging" true ("$@") & fi } @@ -251,16 +247,6 @@ function start_brcompatd { "$VSWITCHD_OVSDB_SERVER" } -function start_xenserverd { - if [ ! -d "$XENSERVERD_RUN_DIR" ]; then - install -d -m 755 -o root -g root "$XENSERVERD_RUN_DIR" - fi - cd "$XENSERVERD_RUN_DIR" - - install -d -m 755 -o root -g root `dirname $XENSERVERD_PIDFILE` - action "Starting ovs-xenserverd" "$xenserverd" --no-chdir --pidfile=$XENSERVERD_PIDFILE --detach $monitor_opt -vANY:CONSOLE:EMER -} - function stop_daemon { local DAEMON=$1 local BINARY=$2 @@ -346,12 +332,10 @@ function start { if [ "${ENABLE_BRCOMPAT}" = "y" ] ; then start_brcompatd fi - start_xenserverd touch /var/lock/subsys/openvswitch } function stop { - stop_daemon XENSERVERD "$xenserverd" stop_daemon BRCOMPATD "$brcompatd" stop_daemon VSWITCHD "$vswitchd" stop_daemon OVSDB_SERVER "$ovsdb_server" @@ -387,14 +371,12 @@ case "$1" in status -p "$OVSDB_SERVER_PIDFILE" ovsdb-server && status -p "$VSWITCHD_PIDFILE" ovs-vswitchd && (test "$ENABLE_BRCOMPAT" != "y" || - status -p "$BRCOMPATD_PIDFILE" ovs-brcompatd) && - status -p "$XENSERVERD_PIDFILE" ovs-xenserverd + status -p "$BRCOMPATD_PIDFILE" ovs-brcompatd) ;; version) /usr/sbin/ovsdb-server -V /usr/sbin/ovs-vswitchd -V /usr/sbin/ovs-brcompatd -V - /usr/sbin/ovs-xenserverd -V ;; help) printf "openvswitch [start|stop|restart|unload|status|version]\n"