Merge pull request #474 from mininet/devel/ovsbatch
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.
No related branches found
No related tags found
Showing
- bin/mn 8 additions, 2 deletionsbin/mn
- examples/cluster.py 72 additions, 25 deletionsexamples/cluster.py
- examples/controlnet.py 7 additions, 1 deletionexamples/controlnet.py
- examples/sshd.py 1 addition, 1 deletionexamples/sshd.py
- examples/tree1024.py 2 additions, 2 deletionsexamples/tree1024.py
- mininet/clean.py 77 additions, 57 deletionsmininet/clean.py
- mininet/link.py 4 additions, 3 deletionsmininet/link.py
- mininet/net.py 16 additions, 4 deletionsmininet/net.py
- mininet/node.py 131 additions, 85 deletionsmininet/node.py
- mininet/util.py 26 additions, 14 deletionsmininet/util.py
Loading
Please register or sign in to comment