Statistics
| Branch: | Tag: | Revision:

mininet / INSTALL @ 96952b92

History | View | Annotate | Download (5.01 KB)

1

    
2
Mininet Installation/Configuration Notes
3
----------------------------------------
4

    
5
Mininet 2.1.0+
6
---
7

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

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

    
15
1. 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://mininet.org/>
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

    
32
2. 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

    
45
3. Native installation from source
46

    
47
3.1. Native installation from source on Ubuntu 12.04+
48

    
49
   If you're reading this, you've probably already done so, but the
50
   command to download the Mininet source code is:
51

    
52
        git clone git://github.com/mininet/mininet.git
53

    
54
   If you are running Ubuntu, you may be able to use our handy
55
   `install.sh` script, which is in `mininet/util`.
56

    
57
   *WARNING: USE AT YOUR OWN RISK!*
58

    
59
   `install.sh` is a bit intrusive and may possibly damage your OS
60
   and/or home directory, by creating/modifying several directories
61
   such as `mininet`, `openflow`, `oftest`, `pox`, etc..
62
   Although we hope it won't do anything completely terrible, you may
63
   want to look at the script before you run it, and you should make
64
   sure your system and home directory are backed up just in case!
65

    
66
   To install Mininet itself, the OpenFlow reference implementation, and
67
   Open vSwitch, you may use:
68

    
69
        mininet/util/install.sh -fnv
70

    
71
   This should be reasonably quick, and the following command should
72
   work after the installation:
73

    
74
        sudo mn --test pingall
75

    
76
   To install ALL of the software which we use for OpenFlow tutorials,
77
   including POX, the OpenFlow WireShark dissector, the `oftest`
78
   framework, and other potentially useful software, you may use:
79

    
80
        mininet/util/install.sh -a
81

    
82
   This takes about 4 minutes on our test system.
83

    
84
   You can change the directory where the dependencies are installed using
85
   the -s <directory> flag.
86

    
87
        mininet/util/install.sh -s <directory> -a
88

    
89
3.2. Native installation from source on Fedora 18+.
90

    
91
   As root execute the following operations:
92

    
93
    * install git
94

    
95
        yum install git
96

    
97
    * create an user account (e.g. mininet) and add it to the wheel group
98

    
99
        useradd [...] mininet
100
        usermod -a -G wheel mininet
101

    
102
    * change the SElinux setting to permissive. It can be done
103
      temporarily with:
104

    
105
        setenforce 0
106

    
107
   then login with the new account (e.g. mininet) and do the following:
108

    
109
    * clone the Mininet repository
110

    
111
        git clone git://github.com/mininet/mininet.git
112

    
113
    * install Mininet, the OpenFlow reference implementation, and
114
      Open vSwitch
115

    
116
        mininet/util/install.sh -fnv
117

    
118
    * enable and start openvswitch
119

    
120
        sudo systemctl enable openvswitch
121
        sudo systemctl start openvswitch
122

    
123
    * test the mininet installation
124

    
125
        sudo mn --test pingall
126

    
127
4. Creating your own Mininet/OpenFlow tutorial VM
128

    
129
   Creating your own Ubuntu Mininet VM for use with the OpenFlow tutorial
130
   is easy! First, create a new Ubuntu VM. Next, run two commands in it:
131

    
132
        wget https://raw.github.com/mininet/mininet/master/util/vm/install-mininet-vm.sh
133
        time install-mininet-vm.sh
134

    
135
   Finally, verify that Mininet is installed and working in the VM:
136

    
137
        sudo mn --test pingall
138

    
139
5. Installation on other Linux distributions
140

    
141
   Although we don't support other Linux distributions directly, it
142
   should be possible to install and run Mininet with some degree of
143
   manual effort.
144

    
145
   In general, you must have:
146

    
147
   * A Linux kernel compiled with network namespace support enabled
148

    
149
   * An OpenFlow implementation (either the reference user or kernel
150
     space implementations, or Open vSwitch.) Appropriate kernel
151
     modules (e.g. tun and ofdatapath for the reference kernel
152
     implementation) must be loaded.
153

    
154
   * Python, `bash`, `ping`, `iperf`, etc.
155

    
156
   * Root privileges (required for network device access)
157

    
158
   We encourage contribution of patches to the `install.sh` script to
159
   support other Linux distributions.
160

    
161

    
162
Good luck!
163

    
164
Mininet Team
165

    
166
---