Statistics
| Branch: | Tag: | Revision:

mininet / INSTALL @ 307302ed

History | View | Annotate | Download (5.37 KB)

1

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

    
5
Mininet 2.2.0b1
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
   Note that the above git command will check out the latest and greatest
55
   Mininet (which we recommend!) If you want to run the last tagged/released
56
   version of Mininet, you can look at the release tags using
57

    
58
        cd mininet
59
        git tag
60

    
61
    and then
62

    
63
        git clone git://github.com/mininet/mininet
64
        git checkout <release tag>
65

    
66
   where <release tag> is the release you want to check out.
67

    
68
   If you are running Ubuntu, Debian, or Fedora, you may be able to use
69
   our handy `install.sh` script, which is in `mininet/util`.
70

    
71
   *WARNING: USE AT YOUR OWN RISK!*
72

    
73
   `install.sh` is a bit intrusive and may possibly damage your OS
74
   and/or home directory, by creating/modifying several directories
75
   such as `mininet`, `openflow`, `oftest`, `pox`, etc.. We recommend
76
   trying it in a VM before trying it on a system you use from day to day.
77

    
78
   Although we hope it won't do anything completely terrible, you may
79
   want to look at the script before you run it, and you should make
80
   sure your system and home directory are backed up just in case!
81

    
82
   To install Mininet itself, the OpenFlow reference implementation, and
83
   Open vSwitch, you may use:
84

    
85
        mininet/util/install.sh -fnv
86

    
87
   This should be reasonably quick, and the following command should
88
   work after the installation:
89

    
90
        sudo mn --test pingall
91

    
92
   To install ALL of the software which we use for OpenFlow tutorials,
93
   including POX, the OpenFlow WireShark dissector, the `oftest`
94
   framework, and other potentially useful software, you may use:
95

    
96
        mininet/util/install.sh -a
97

    
98
   This takes about 4 minutes on our test system.
99

    
100
   You can change the directory where the dependencies are installed using
101
   the -s <directory> flag.
102

    
103
        mininet/util/install.sh -s <directory> -a
104

    
105
3.2. Native installation from source on Fedora 18+.
106

    
107
   As root execute the following operations:
108

    
109
    * install git
110

    
111
        yum install git
112

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

    
115
        useradd [...] mininet
116
        usermod -a -G wheel mininet
117

    
118
    * change the SElinux setting to permissive. It can be done
119
      temporarily with:
120

    
121
        setenforce 0
122

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

    
125
    * clone the Mininet repository
126

    
127
        git clone git://github.com/mininet/mininet.git
128

    
129
    * install Mininet, the OpenFlow reference implementation, and
130
      Open vSwitch
131

    
132
        mininet/util/install.sh -fnv
133

    
134
    * enable and start openvswitch
135

    
136
        sudo systemctl enable openvswitch
137
        sudo systemctl start openvswitch
138

    
139
    * test the mininet installation
140

    
141
        sudo mn --test pingall
142

    
143
4. Creating your own Mininet/OpenFlow tutorial VM
144

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

    
148
        wget https://raw.github.com/mininet/mininet/master/util/vm/install-mininet-vm.sh
149
        time install-mininet-vm.sh
150

    
151
   Finally, verify that Mininet is installed and working in the VM:
152

    
153
        sudo mn --test pingall
154

    
155
5. Installation on other Linux distributions
156

    
157
   Although we don't support other Linux distributions directly, it
158
   should be possible to install and run Mininet with some degree of
159
   manual effort.
160

    
161
   In general, you must have:
162

    
163
   * A Linux kernel compiled with network namespace support enabled
164

    
165
   * An compatible software switch such as Open vSwitch or
166
     the Linux bridge.
167

    
168
   * Python, `bash`, `ping`, `iperf`, etc.
169

    
170
   * Root privileges (required for network device access)
171

    
172
   We encourage contribution of patches to the `install.sh` script to
173
   support other Linux distributions.
174

    
175

    
176
Good luck!
177

    
178
Mininet Team
179

    
180
---