-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Mininet 2.2.1 Release Notes
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 inMininet.stop(). Note thatsshd.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 usingmn -cormininet.clean.cleanup() -
printPidis nowFalseby default inNode.cmd()andNode.sendCmd() -
mininet.clean.cleanup()has been reorganized and now uses a class. -
Some previously silent command failures may now cause exceptions due to using
errRunrather thanquietRun. If you encounter unexpected exceptions, you may wish to run withsetLogLevel('debug')(or--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
Ryuinstead ofRYU- the new name reflects the correct project name, which is not an acronym. The--controller ryuoption is unchanged.
An OVSLink (--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
tcpdumporwireshark. -
OVS patch ports are not real Linux interfaces, so you cannot control their behavior using
tc. -
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 likemn --topo linear,64 --test iperfwill work, butmn --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
--controllerarguments tomn -
RemoteControllerand--controller remotenow accept strings of the formIP:portwhereIPis the remote controller IP address andportis the port. -
mn --helpand the man page formnnow list the class names for--host,--switch, and--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.