| |
| Mininet Installation/Configuration Notes |
| ---------------------------------------- |
| |
| Mininet 2.0.0 |
| --- |
| |
| The supported installation methods for Mininet are 1) using a |
| pre-built VM image, and 2) native installation on Ubuntu. You can also |
| easily create your own Mininet VM image (4). |
| |
| (Other distributions may be supported in the future - if you would |
| like to contribute an installation script, we would welcome it!) |
| |
| 1. Easiest "installation" - use our pre-built VM image! |
| |
| The easiest way to get Mininet running is to start with one of our |
| pre-built virtual machine images from <http://openflow.org/mininet> |
| |
| Boot up the VM image, log in, and follow the instructions on the |
| Mininet web site. |
| |
| One advantage of using the VM image is that it doesn't mess with |
| your native OS installation or damage it in any way. |
| |
| Although a single Mininet instance can simulate multiple networks |
| with multiple controllers, only one Mininet instance may currently |
| be run at a time, and Mininet requires root access in the machine |
| it's running on. Therefore, if you have a multiuser system, you |
| may wish to consider running Mininet in a VM. |
| |
| 2. Next-easiest option: use our Ubuntu package! |
| |
| To install Mininet itself (i.e. `mn` and the Python API) on Ubuntu |
| 12.10+: |
| |
| sudo apt-get install mininet |
| |
| Note: if you are upgrading from an older version of Mininet, make |
| sure you remove the old OVS from `/usr/local`: |
| |
| sudo rm /usr/local/bin/ovs* |
| sudo rm /usr/local/sbin/ovs* |
| |
| 3. Native installation from source on Ubuntu 11.10+ |
| |
| If you're reading this, you've probably already done so, but the |
| command to download the Mininet source code is: |
| |
| git clone git://github.com/mininet/mininet.git |
| |
| If you are running Ubuntu, you may be able to use our handy |
| `install.sh` script, which is in `mininet/util`. |
| |
| *WARNING: USE AT YOUR OWN RISK!* |
| |
| `install.sh` is a bit intrusive and may possibly damage your OS |
| and/or home directory, by creating/modifying several directories |
| such as `mininet`, `openflow`, `oftest`, `pox`, or `noxcosre`. |
| Although we hope it won't do anything completely terrible, you may |
| want to look at the script before you run it, and you should make |
| sure your system and home directory are backed up just in case! |
| |
| To install Mininet itself, the OpenFlow reference implementation, and |
| Open vSwitch, you may use: |
| |
| mininet/util/install.sh -fnv |
| |
| This should be reasonably quick, and the following command should |
| work after the installation: |
| |
| sudo mn --test pingall |
| |
| To install ALL of the software which we use for OpenFlow tutorials, |
| including POX, the OpenFlow WireShark dissector, the `oftest` |
| framework, and other potentially useful software (and to add some |
| stuff to `/etc/sysctl.conf` which may or may not be useful) you may |
| use: |
| |
| mininet/util/install.sh -a |
| |
| This takes about 4 minutes on our test system. |
| |
| 4. Creating your own Mininet/OpenFlow tutorial VM |
| |
| Creating your own Ubuntu Mininet VM for use with the OpenFlow tutorial |
| is easy! First, create a new Ubuntu VM. Next, run two commands in it: |
| |
| wget https://raw.github.com/mininet/mininet/master/util/vm/install-mininet-vm.sh |
| time install-mininet-vm.sh |
| |
| Finally, verify that Mininet is installed and working in the VM: |
| |
| sudo mn --test pingall |
| |
| 5. Installation on other Linux distributions |
| |
| Although we don't support other Linux distributions directly, it |
| should be possible to install and run Mininet with some degree of |
| manual effort. |
| |
| In general, you must have: |
| |
| * A Linux kernel compiled with network namespace support enabled |
| |
| * An OpenFlow implementation (either the reference user or kernel |
| space implementations, or Open vSwitch.) Appropriate kernel |
| modules (e.g. tun and ofdatapath for the reference kernel |
| implementation) must be loaded. |
| |
| * Python, `bash`, `ping`, `iperf`, etc.` |
| |
| * Root privileges (required for network device access) |
| |
| We encourage contribution of patches to the `install.sh` script to |
| support other Linux distributions. |
| |
| |
| Good luck! |
| |
| Mininet Team |
| |
| --- |