- Feb 04, 2015
-
-
Bob Lantz authored
Since we already disable job notification with +m, it doesn't make sense to set it in the original invocation! It's also annoying if all of the host commands end up overwriting your regular bash_history!!
-
Bob Lantz authored
-
lantz authored
Batch startup support for OVS Currently, every ovs-vsctl command requires reading the entire OVS configuration database. This means that its performance gets linearly slower as more switches and ports are added. To mitigate this, we batch multiple configuration operations into individual, long, ovs-vsctl commands. This patch set makes a couple of other notable changes, including setting printPid=False by default (avoids using mnexec unnecessarily) and running certain commands using errRun rather than quietRun. Additionally we no longer look for leftover links in the root namespace, so code relying on that functionality may have to change slightly (as in controlnet.py and sshd.py for example.) It also adds cluster support to mn -c. The performance result is that mn --topo linear,200 --test none now completes in 60 seconds rather than 95 seconds (on my laptop) without the patch (vs. 101 seconds in 2.2.0). This is still slower than I would like - we should be able to make some additional improvements.
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
-
- Jan 29, 2015
-
-
Bob Lantz authored
If you try to use the low-level API, you are probably not going to call batchStartup()! So, we set batch=False by default. This means that buildFromTopo() needs to set it to True, so we add a bit of irritatingly complex machinery to allow this to happen. The good fallout of this is that now customConstructor() returns a real subclass, not simply a constructor function! We also detect errors where people are incorrectly attempting to give parameters to a lambda function - since none of our lambdas accept parameters!! Note that this is a bit like functools.partial for classes - it would be nice if functools had a true subclassing function.
-
Bob Lantz authored
-
- Jan 28, 2015
- Jan 27, 2015
-
-
Bob Lantz authored
Note that we are changing the interface of batchStartup/Shutdown slightly so that the method can choose not to start some of the switches. We might wish to refine this a bit...
-
- Jan 26, 2015
-
-
Bob Lantz authored
This should rarely happen - in the usual case, either the links will be shut down by Mininet.stop(), or the interfaces will be deleted by node.stop( deleteIntfs=True ), or the links or interfaces will be explicitly deleted or stopped using the low-level API. Cases that are relying on links being automatically deleted in cleanup() will potentially find that they are now no longer deleted, but these cases should be rare.
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
We still need to set it in batchShutdown()
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
This implements batch startup for OVS switches.
-
Bob Lantz authored
In the future, we would like to support higher bandwidth limits for TCIntfs, but we'll probably need to adjust some of the parameters dynamically.
-
- Jan 24, 2015
-
-
Bob Lantz authored
In my opinion, we really shouldn't even get POLLHUP, but we do. In case we get anything else odd, quite polling on that fd.
-
Bob Lantz authored
It's tricky to get this right, but basically we want to read if there is something to read; if not, we want to check for EOF.
-
Bob Lantz authored
Without this, we end up retrying until we fail, instead of returning immediately on success!
-
- Jan 22, 2015
-
-
Bob Lantz authored
We should think a bit about the semantics that we want here. The comments say "stop and clean up link" so perhaps that's what we want. However, we could also imagine stop stopping forwarding on the link (and possibly allowing restarts). We warn on exited node.cmd() because we terminate the controller before stopping/deleting the links. This makes sense to avoid a storm of link/port down events, but since the controller's shell has exited we cannot call link.stop() on any of its links. We may want to simply stop the controller and not terminate it, but at least it doesn't hang for now.
-
- Jan 19, 2015
-
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
-
Bob Lantz authored
This allows --switch ovsbr,stp=True to work correctly
-
Bob Lantz authored
-
Bob Lantz authored
With newer versions of OVS, this allows us to set up a switch with a single OVS command (if reconnectms is zero.) If reconnectms is specified, then it slows things down slightly (but not much.)
-
- Jan 17, 2015
- Jan 15, 2015