X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-ctl.in;h=dfd6fa8a5818d63034f31b1f0679d65a60c501ed;hb=ea523221d4b11e9e067ec8b25a3955d1b64eb537;hp=ee6035c078a9815882937056d41b2ffc2f30b6c6;hpb=d422c1189901d34125cd2d46552391c333d1f647;p=sliver-openvswitch.git diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in index ee6035c07..dfd6fa8a5 100755 --- a/utilities/ovs-ctl.in +++ b/utilities/ovs-ctl.in @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc. +# Copyright (C) 2009, 2010, 2011, 2012 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -31,14 +31,15 @@ done ## ----- ## insert_openvswitch_mod_if_required () { - # If openvswitch_mod is already loaded then we're done. - test -e /sys/module/openvswitch_mod && return 0 + # If openvswitch is already loaded then we're done. + test -e /sys/module/openvswitch -o -e /sys/module/openvswitch_mod && \ + return 0 - # Load openvswitch_mod. If that's successful then we're done. - action "Inserting openvswitch module" modprobe openvswitch_mod && return 0 + # Load openvswitch. If that's successful then we're done. + action "Inserting openvswitch module" modprobe openvswitch && return 0 # If the bridge module is loaded, then that might be blocking - # openvswitch_mod. Try to unload it, if there are no bridges. + # openvswitch. Try to unload it, if there are no bridges. test -e /sys/module/bridge || return 1 bridges=`echo /sys/class/net/*/bridge | sed 's,/sys/class/net/,,g;s,/bridge,,g'` if test "$bridges" != "*"; then @@ -47,13 +48,17 @@ insert_openvswitch_mod_if_required () { fi action "removing bridge module" rmmod bridge || return 1 - # Try loading openvswitch_mod again. - action "Inserting openvswitch module" modprobe openvswitch_mod + # Try loading openvswitch again. + action "Inserting openvswitch module" modprobe openvswitch } insert_brcompat_mod_if_required () { - test -e /sys/module/brcompat_mod && return 0 - action "Inserting brcompat module" modprobe brcompat_mod + if test -e /sys/module/bridge; then + log_warning_msg "bridge module is loaded, not loading brcompat" + return 1 + fi + test -e /sys/module/brcompat -o -e /sys/module/brcompat_mod && return 0 + action "Inserting brcompat module" modprobe brcompat } insert_mod_if_required () { @@ -68,7 +73,7 @@ ovs_vsctl () { } ovsdb_tool () { - ovsdb-tool -vANY:console:off "$@" + ovsdb-tool -vconsole:off "$@" } create_db () { @@ -177,7 +182,7 @@ start () { # Start ovsdb-server. set ovsdb-server "$DB_FILE" - set "$@" -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO + set "$@" -vconsole:emer -vsyslog:err -vfile:info set "$@" --remote=punix:"$DB_SOCK" set "$@" --remote=db:Open_vSwitch,manager_options set "$@" --private-key=db:SSL,private_key @@ -199,13 +204,14 @@ start () { if daemon_is_running ovs-vswitchd; then log_success_msg "ovs-vswitchd is already running" else - # Increase the limit on the number of open file descriptors since - # ovs-vswitchd needs a few per bridge - ulimit -n 4096 + # Increase the limit on the number of open file descriptors. + # ovs-vswitchd needs 16 per datapath, plus a few extra, so this + # should allow for 256 (or more) bridges. + ulimit -n 5000 # Start ovs-vswitchd. set ovs-vswitchd unix:"$DB_SOCK" - set "$@" -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO + set "$@" -vconsole:emer -vsyslog:err -vfile:info if test X"$MLOCKALL" != Xno; then set "$@" --mlockall fi @@ -216,7 +222,7 @@ start () { log_success_msg "ovs-brcompatd is already running" elif test X"$BRCOMPAT" = Xyes; then set ovs-brcompatd - set "$@" -vANY:CONSOLE:EMER -vANY:SYSLOG:ERR -vANY:FILE:INFO + set "$@" -vconsole:emer -vsyslog:err -vfile:info start_daemon "$OVS_BRCOMPATD_PRIORITY" "$@" fi } @@ -281,11 +287,16 @@ force_reload_kmod () { action "Removing datapath: $dp" ovs-dpctl del-dp "$dp" done + # try both old and new names in case this is post upgrade if test -e /sys/module/brcompat_mod; then action "Removing brcompat module" rmmod brcompat_mod + elif test -e /sys/module/brcompat; then + action "Removing brcompat module" rmmod brcompat fi if test -e /sys/module/openvswitch_mod; then action "Removing openvswitch module" rmmod openvswitch_mod + elif test -e /sys/module/openvswitch; then + action "Removing openvswitch module" rmmod openvswitch fi start @@ -300,6 +311,8 @@ force_reload_kmod () { log="logger -p daemon.$level -t ovs-save" $log "force-reload-kmod interface restore script exited with status $rc:" $log -f "$script" + + "$datadir/scripts/ovs-check-dead-ifs" } ## --------------- ## @@ -373,7 +386,13 @@ set_defaults () { DPORT= SPORT= - if (lsb_release --id) >/dev/null 2>&1; then + type_file=$etcdir/system-type.conf + version_file=$etcdir/system-version.conf + + if test -e "$type_file" ; then + SYSTEM_TYPE=`cat $type_file` + SYSTEM_VERSION=`cat $version_file` + elif (lsb_release --id) >/dev/null 2>&1; then SYSTEM_TYPE=`lsb_release --id -s` system_release=`lsb_release --release -s` system_codename=`lsb_release --codename -s` @@ -484,7 +503,7 @@ do usage ;; -V | --version) - echo "$0 (Open vSwitch) $VERSION$BUILDNR" + echo "$0 (Open vSwitch) $VERSION" exit 0 ;; --external-id=*)