Mininet 2.2.1 is primarily a performance enhancement and bug fix release to Mininet 2.2.0.
install.sh -fnv and
install.sh -a now work out of the box on Raspbian/Debian 7.8 Wheezy, so you can easily install and run Mininet on a Raspberry Pi! You can also install OVS 2.3.1 using "
install.sh -V 2.3.1".
2.2.1 is compatible with the 2.0 API, but some minor changes have been made for performance or other reasons, and you should be aware of them since they could cause unexpected behavior.
links not added using
addLink()will not be cleaned up automatically in
Mininet.stop(). Note that
sshd.pyhas changed slightly to reflect this.
controlnet.pyhas also changed. The symptom you may observe is that links may be left in the root namespace. They may be deleted using
Falseby default in
mininet.clean.cleanup()has been reorganized and now uses a class.
Some previously silent command failures may now cause exceptions due to using
quietRun. If you encounter unexpected exceptions, you may wish to run with
--v debug) to see what is going on.
As the Linux kernel matures, it becomes less necessary to have secondary checks as to whether an operation succeeded and try again (as seen with the infamous "gave up after 3 tries" messages) so these checks (and retries) are being removed. This may expose issues which were previously hidden on older Linux kernels.
The Ryu controller class is now named
RYU- the new name reflects the correct project name, which is not an acronym. The
--controller ryuoption is unchanged.
--link ovs) class has been added which implements OVS patch links. Unlike
veth pairs, OVS Patch Links are virtual entities within OVS itself, and can potentially support much higher data rates (particularly over multiple links, probably due to OVS's flow rule optimization) as well as slightly faster startup time.
However, OVSLinks have several serious limitations, including the following:
OVS patch ports are not real Linux interfaces, so you cannot monitor them using
OVS patch ports are not real Linux interfaces, so you cannot control their behavior using
Because of the above,
OVSLinkdoes not support link modeling including bandwidth limits, delay modeling, or loss modeling.
Based on our experience so far, no more than ~64
OVSLinksshould be used in a row. This means that a command like
mn --topo linear,64 --test iperfwill work, but
mn --topo linear,80 --test iperfwill fail.
That being said, if you want the fastest possible data rates on small-diameter networks, you may wish to try
OVSLink. If it doesn't work, just go back to regular links.
- The CPqD switch should now build and install on Ubuntu 14.04
- The CLI
switchcommand has been fixed (though its precise semantics are still a bit obscure, as it currently causes a switch to stop or start forwarding packets while leaving its interfaces up)
- Repeatedly invoking the CLI will not cause
.mininet_historyto double in size (thanks to Rich Lane.)
You may now specify multiple
--controller remotenow accept strings of the form
IPis the remote controller IP address and
portis the port.
mn --helpand the man page for
mnnow list the class names for
--controlleroptions. The classes themselves, along with their options, are documented on http://api.mininet.org . We hope to improve the documentation over time.
Please consult the Mininet 2.2.0 Release Notes#errata.