X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-ctl.in;h=76d39ec11f5bdba9a10ddae1f7ab79c5828e9aaa;hb=9b80f761bed9a32c1b0eb22ee3361966057ea973;hp=d1df6a8491f6ca81bebe653529cde71ab056a43a;hpb=258748613a8b53a571d93f58fbfda57f91b81b2b;p=sliver-openvswitch.git diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in index d1df6a849..76d39ec11 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 Networks, 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,17 +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 () { if test -e /sys/module/bridge; then - log_warning_msg "bridge module is loaded, not loading brcompat_mod" + log_warning_msg "bridge module is loaded, not loading brcompat" return 1 fi - test -e /sys/module/brcompat_mod && return 0 - action "Inserting brcompat module" modprobe brcompat_mod + test -e /sys/module/brcompat -o -e /sys/module/brcompat_mod && return 0 + action "Inserting brcompat module" modprobe brcompat } insert_mod_if_required () { @@ -203,9 +204,10 @@ 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" @@ -285,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