Statistics
| Branch: | Tag: | Revision:

mininet / INSTALL @ f95c4a47

History | View | Annotate | Download (3.68 KB)

1
Mininet Installation/Configuration Notes
2

    
3
Mininet 2.0.0
4

    
5
---
6

    
7
The supported installation methods for Mininet are 1) using
8
a pre-built VM image, and 2) native installation on Ubuntu. You
9
can also easily create your own Mininet VM image (3).
10

    
11
(Other distributions may be supported in the future - if you would
12
like to contribute an installation script, we would welcome it!)
13

    
14
1. Easiest "installation" - use our pre-built VM image!
15

    
16
The easiest way to get Mininet running is to start with one of our pre-built 
17
virtual machine images from http://openflow.org/mininet
18

    
19
Boot up the VM image, log in, and follow the instructions on the wiki page.
20

    
21
One advantage of using the VM image is that it doesn't mess with
22
your native OS installation or damage it in any way.
23

    
24
Although a single Mininet instance can simulate multiple networks with
25
multiple controllers, only one Mininet instance may currently be run at
26
a time, and Mininet requires root access in the machine it's running on.
27
Therefore, if you have a multiuser system, you may wish to consider
28
running Mininet in a VM.
29

    
30
2. Next-easiest option: use our Ubuntu package!
31

    
32
To install Mininet itself (i.e. mn and the Python API) on Ubuntu 12.10+
33

    
34
  sudo apt-get install mininet
35

    
36
Note: if you are upgrading from an older version of Mininet, make sure you
37
remove the old OVS from /usr/local:
38

    
39
  sudo rm /usr/local/bin/ovs*
40
  sudo rm /usr/local/sbin/ovs*
41

    
42
3. Native installation from source on Ubuntu 11.10+
43

    
44
If you're reading this, you've probably already done so, but the command to
45
download the Mininet source code is;
46
   
47
  git clone git://github.com/mininet/mininet.git
48

    
49
If you are running Ubuntu, you may be able to use our handy install.sh script,
50
which is in mininet/util.
51

    
52
WARNING: USE AT YOUR OWN RISK!
53

    
54
install.sh is a bit intrusive and may possibly damage your OS and/or
55
home directory, by creating/modifying several directories such as
56
mininet, openflow, openvswitch and noxcore. Although we hope it won't
57
do anything completely terrible, you may want to look at the script
58
before you run it, and you should make sure your system and home
59
directory are backed up just in case!
60

    
61
To install Mininet itself, the OpenFlow reference implementation, and
62
Open vSwitch, you may use:
63

    
64
$ mininet/util/install.sh -fnv
65

    
66
This should be reasonably quick and the following command should work
67
after the installation:
68

    
69
$ sudo mn --test pingall
70

    
71
To install ALL of the software which we use for OpenFlow tutorials,
72
including NOX classic, the OpenFlow WireShark dissector, the oftest
73
framework, and other potentially useful software (and to add some stuff
74
to /etc/sysctl.conf which may or may not be useful) you may use
75

    
76
$ mininet/util/install.sh -a
77

    
78
This takes about 20 minutes on our test system.
79

    
80
4. Creating your own Mininet/OpenFlow tutorial VM
81

    
82
Creating your own Ubuntu Mininet VM for use with the OpenFlow tutorial
83
is easy! First, create a new Ubuntu VM. Then, run
84

    
85
$ wget https://raw.github.com/mininet/mininet/util/vm/install-mininet-vm.sh
86
$ time install-mininet-vm.sh
87

    
88
5. Installation on other Linux distributions
89

    
90
Although we don't support other Linux distributions directly, it should be
91
possible to install and run Mininet with some degree of manual effort.
92

    
93
In general, you must have:
94

    
95
* A Linux kernel compiled with network namespace support enabled
96

    
97
* An OpenFlow implementation (either the reference user or kernel
98
  space implementations, or Open vSwitch.) Appropriate kernel modules
99
  (e.g. tun and ofdatapath for the reference kernel implementation) must
100
  be loaded.
101

    
102
* Python, `bash`, `ping`, `iperf`, etc.
103

    
104
* Root privileges (required for network device access)
105

    
106
We encourage contribution of patches to the `install.sh` script to support
107
other Linux distributions.
108

    
109
Good luck!
110

    
111
Mininet Team
112

    
113
---
114

    
115
  
116