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=2ce9e7743e7c9e980bdc73fb0843174cc9f015db;hpb=1f256c11cd354fe1494af6846cf31c7ee2698e6c;p=openvswitch diff --git a/xenserver/etc_init.d_openvswitch b/xenserver/etc_init.d_openvswitch index 2ce9e774..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 { @@ -251,10 +247,6 @@ function start_brcompatd { "$VSWITCHD_OVSDB_SERVER" } -function start_xenserverd { - start_daemon XENSERVERD "$xenserverd" -} - function stop_daemon { local DAEMON=$1 local BINARY=$2 @@ -340,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" @@ -381,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"