blob: d3e4695b22546e83d827a6c19d97bb6e607ed430 [file] [log] [blame]
adminbae64d82013-08-01 10:50:15 -07001
2Mininet Installation/Configuration Notes
3----------------------------------------
4
5Mininet 2.0.0
6---
7
8The supported installation methods for Mininet are 1) using a
9pre-built VM image, and 2) native installation on Ubuntu. You can also
10easily create your own Mininet VM image (4).
11
12(Other distributions may be supported in the future - if you would
13like to contribute an installation script, we would welcome it!)
14
151. Easiest "installation" - use our pre-built VM image!
16
17 The easiest way to get Mininet running is to start with one of our
18 pre-built virtual machine images from <http://openflow.org/mininet>
19
20 Boot up the VM image, log in, and follow the instructions on the
21 Mininet web site.
22
23 One advantage of using the VM image is that it doesn't mess with
24 your native OS installation or damage it in any way.
25
26 Although a single Mininet instance can simulate multiple networks
27 with multiple controllers, only one Mininet instance may currently
28 be run at a time, and Mininet requires root access in the machine
29 it's running on. Therefore, if you have a multiuser system, you
30 may wish to consider running Mininet in a VM.
31
322. Next-easiest option: use our Ubuntu package!
33
34 To install Mininet itself (i.e. `mn` and the Python API) on Ubuntu
35 12.10+:
36
37 sudo apt-get install mininet
38
39 Note: if you are upgrading from an older version of Mininet, make
40 sure you remove the old OVS from `/usr/local`:
41
42 sudo rm /usr/local/bin/ovs*
43 sudo rm /usr/local/sbin/ovs*
44
453. Native installation from source on Ubuntu 11.10+
46
47 If you're reading this, you've probably already done so, but the
48 command to download the Mininet source code is:
49
50 git clone git://github.com/mininet/mininet.git
51
52 If you are running Ubuntu, you may be able to use our handy
53 `install.sh` script, which is in `mininet/util`.
54
55 *WARNING: USE AT YOUR OWN RISK!*
56
57 `install.sh` is a bit intrusive and may possibly damage your OS
58 and/or home directory, by creating/modifying several directories
59 such as `mininet`, `openflow`, `oftest`, `pox`, or `noxcosre`.
60 Although we hope it won't do anything completely terrible, you may
61 want to look at the script before you run it, and you should make
62 sure your system and home directory are backed up just in case!
63
64 To install Mininet itself, the OpenFlow reference implementation, and
65 Open vSwitch, you may use:
66
67 mininet/util/install.sh -fnv
68
69 This should be reasonably quick, and the following command should
70 work after the installation:
71
72 sudo mn --test pingall
73
74 To install ALL of the software which we use for OpenFlow tutorials,
75 including POX, the OpenFlow WireShark dissector, the `oftest`
76 framework, and other potentially useful software (and to add some
77 stuff to `/etc/sysctl.conf` which may or may not be useful) you may
78 use:
79
80 mininet/util/install.sh -a
81
82 This takes about 4 minutes on our test system.
83
844. Creating your own Mininet/OpenFlow tutorial VM
85
86 Creating your own Ubuntu Mininet VM for use with the OpenFlow tutorial
87 is easy! First, create a new Ubuntu VM. Next, run two commands in it:
88
89 wget https://raw.github.com/mininet/mininet/master/util/vm/install-mininet-vm.sh
90 time install-mininet-vm.sh
91
92 Finally, verify that Mininet is installed and working in the VM:
93
94 sudo mn --test pingall
95
965. Installation on other Linux distributions
97
98 Although we don't support other Linux distributions directly, it
99 should be possible to install and run Mininet with some degree of
100 manual effort.
101
102 In general, you must have:
103
104 * A Linux kernel compiled with network namespace support enabled
105
106 * An OpenFlow implementation (either the reference user or kernel
107 space implementations, or Open vSwitch.) Appropriate kernel
108 modules (e.g. tun and ofdatapath for the reference kernel
109 implementation) must be loaded.
110
111 * Python, `bash`, `ping`, `iperf`, etc.`
112
113 * Root privileges (required for network device access)
114
115 We encourage contribution of patches to the `install.sh` script to
116 support other Linux distributions.
117
118
119Good luck!
120
121Mininet Team
122
123---