Update and rename MantenerFIFO to MantenerFIFO.md
[vsorcdistro/.git] / mininet / INSTALL
1
2 Mininet Installation/Configuration Notes
3 ----------------------------------------
4
5 Mininet 2.3.0d5
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 checkout <release tag>
64
65    where <release tag> is the release you want to check out.
66
67    If you are running Ubuntu, Debian, or Fedora, you may be able to use
68    our handy `install.sh` script, which is in `util/`.
69
70    *WARNING: USE AT YOUR OWN RISK!*
71
72    `install.sh` is a bit intrusive and may possibly damage your OS
73    and/or home directory, by creating/modifying several directories
74    such as `mininet`, `openflow`, `oftest`, `pox`, etc.. We recommend
75    trying it in a VM before trying it on a system you use from day to day.
76
77    Although we hope it won't do anything completely terrible, you may
78    want to look at the script before you run it, and you should make
79    sure your system and home directory are backed up just in case!
80
81    To install Mininet itself, the OpenFlow reference implementation, and
82    Open vSwitch, you may use:
83
84         util/install.sh -fnv
85
86    This should be reasonably quick, and the following command should
87    work after the installation:
88
89         sudo mn --test pingall
90
91    To install ALL of the software which we use for OpenFlow tutorials,
92    including POX, the OpenFlow WireShark dissector, the `oftest`
93    framework, and other potentially useful software, you may use:
94
95         util/install.sh -a
96
97    This takes about 4 minutes on our test system.
98
99    You can change the directory where the dependencies are installed using
100    the -s <directory> flag.
101
102         util/install.sh -s <directory> -a
103
104 3.2. Native installation from source on Fedora 18+.
105
106    As root execute the following operations:
107
108     * install git
109
110         yum install git
111
112     * create an user account (e.g. mininet) and add it to the wheel group
113
114         useradd [...] mininet
115         usermod -a -G wheel mininet
116
117     * change the SElinux setting to permissive. It can be done
118       temporarily with:
119
120         setenforce 0
121
122    then login with the new account (e.g. mininet) and do the following:
123
124     * clone the Mininet repository
125
126         git clone git://github.com/mininet/mininet.git
127
128     * install Mininet, the OpenFlow reference implementation, and
129       Open vSwitch
130
131         util/install.sh -fnv
132
133     * enable and start openvswitch
134
135         sudo systemctl enable openvswitch
136         sudo systemctl start openvswitch
137
138     * test the mininet installation
139
140         sudo mn --test pingall
141
142 4. Creating your own Mininet/OpenFlow tutorial VM
143
144    Creating your own Ubuntu Mininet VM for use with the OpenFlow tutorial
145    is easy! First, create a new Ubuntu VM. Next, run two commands in it:
146
147         wget https://raw.github.com/mininet/mininet/master/util/vm/install-mininet-vm.sh
148         time install-mininet-vm.sh
149
150    Finally, verify that Mininet is installed and working in the VM:
151
152         sudo mn --test pingall
153
154 5. Installation on other Linux distributions
155
156    Although we don't support other Linux distributions directly, it
157    should be possible to install and run Mininet with some degree of
158    manual effort.
159
160    In general, you must have:
161
162    * A Linux kernel compiled with network namespace support enabled
163
164    * An compatible software switch such as Open vSwitch or
165      the Linux bridge.
166
167    * Python, `bash`, `ping`, `iperf`, etc.
168
169    * Root privileges (required for network device access)
170
171    We encourage contribution of patches to the `install.sh` script to
172    support other Linux distributions.
173
174
175 Good luck!
176
177 Mininet Team
178
179 ---