Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Mininet 2.2.0 Release Notes
This document contains supplementary information and issues.
Documentation for Examples and Tests
The examples have Python docstring documentation, and can be used as modules, e.g.
sudo python -m mininet.examples.nat
Their components may also be imported, but they should be considered volatile and not part of the official Mininet API. Since they're not part of the official API, their documentation is also not currently included at api.mininet.org or generated with
make doc. However, you may wish to look at the code and
README.md file in the examples/ directory.
The tests are not included in the Mininet
.egg, but they are provided in the Mininet source tree.
Potential VirtualBox/VM Issues and Solutions
If VirtualBox (or any other virtual machine monitor) cannot import the
.ovfdirectly, try creating a new VM using the
.vmdkfile as its disk.
VirtualBox may complain about missing hardware on initial import - you may safely ignore this message.
We've added a symlink to the top-level examples directory from the mininet code directory to make examples importable. If you are using VirtualBox and clone the repository to a shared folder, the symlink will be broken. This is because VirtualBox does not allow guests to create symlinks in shared folders by default for security reasons. To enable symlink creation, you should do the following:
- Shut down your VM and quit the VirtualBox Manager
- Run the following command on your host OS:
VBoxManage setextradata VM_NAME
- Restart your VM
Test / Hi-Fi Issues
Some performance tests (e.g.
test_linearbandwidth.py) can occasionally fail in virtualized or non-quiescent environments due to performance variance, scheduling, or timing skew. Others may fail if they hit resource limits of the underlying system (e.g. a netbook or a VM with limited resources.)
For the most accurate performance results, you may wish to run Mininet on a quiescent, non-virtualized environment.
Cluster Edition Prototype issues
We do not currently recommend enabling
ControlPathfeature) as we have observed problems with it.
Additional information may be found on the Cluster Edition Prototype wiki page.
--nat option to
mn can provide a convenient way to connect your Mininet network to your LAN or to the Internet.
Note however that
mn --nat by design will reroute traffic originating at your Mininet server or VM
and destined for
Mininet's IP subnet (
10.0.0.0/8 by default) to the Mininet network, which can break connectivity
if you are using addresses in the same range in your LAN. You can change this range using the
Currently the Stanford Reference Switch (
--switch user) and the CPqD switch (also
--switch userif it is installed) do not correctly match MAC address
00:00:00:00:00:01. This means that they will not work with
The Stanford Reference Switch (
--switch user) has awful performance (kilobits per second rather than megabits) on some recent Linux kernels, including the one that we shipped in the Mininet 2.2.0 VM. We hope this can be fixed in the future. If you are experiencing this problem, we recommend using OVS or IVS if possible unless you are modeling a dial-up modem or ISDN.
NetworkManagermay attempt to assign leases to the interfaces from a Mininet instance. This will cause an unwanted flood of DHCP requests, and your cpu usage to max out when Mininet is idle. To prevent this, stop
$ sudo stop network-manager.
IPv6 keeps coming back, even though we try to disable it! Although it's good that IPv6 is now correctly virtualized, this means that the Mininet VM does not now disable IPv6 globally as intended. This means that unless you disable IPv6 in each Mininet host, you may see IPv6's irritating neighbor discovery packets. On the up side, it is now easier to use IPv6 in Mininet. If you wish to disable IPv6 permanently in your VM, edit the following line in
and reboot. IPv6 should be dead (finally?!)
--host rtmay not work correctly when installed with
apt-get install minineton Ubuntu 12.04.5. The
mininetpackage is missing the
cgroup-bindependency. To fix this,
apt-get install cgroup-bin. Also see below.
--host rtwill not work with any default Ubuntu kernel. The POSIX real-time scheduler has been disabled by default in all Ubuntu kernels. To fix this, enable
RT_GROUP_SCHEDin your kernel.
Currently, the Mininet
install.shscript seems to hang installing Mininet on Ubuntu 12.04.5 LTS (precise64, 64-bit); in particular, it hangs while installing/configuring
cgroup-bin. This is obviously not a Mininet issue, but it's annoying. One workaround worth trying might be to install
Bug Reports and Support
You are encouraged to submit reports for any additional bugs you may
encounter via github,
and additional questions to the
mininet-discuss mailing list. You may
also edit these notes to fix errors or provide clarification.