Statistics
| Branch: | Tag: | Revision:

mininet / README @ 8a130dea

History | View | Annotate | Download (2.72 KB)

1

    
2
    Mininet: A Simple Virtual Testbed for OpenFlow
3
                        or
4
How to Squeeze a 1024-node OpenFlow Network onto your Laptop
5

    
6
Alpha release, March 2010
7

    
8
---
9
Welcome to the Mininet alpha release!
10

    
11
Mininet creates OpenFlow test networks by using process-based
12
virtualization and network namespaces.
13

    
14
Simulated hosts (as well as switches and controllers with the user
15
datapath) are created as processes in separate network namespaces. This
16
allows a complete OpenFlow network to be simulated on top of a single
17
Linux kernel.
18

    
19
Mininet may be invoked directly from the command line, and also provides a
20
handy Python API for creating networks of varying sizes and topologies.
21

    
22
Mininet is currently in *limited alpha release*. We encourage you to
23
experiment with it and hope that you will provide us with feedback on
24
features, documentation, and how you're using it. We plan to make it
25
available publicly via a GPL or BSD license (probably in April), but please
26
don't distribute the code or URLs yet! The feedback you provide will help
27
us improve Mininet for general release.
28

    
29
In order to run Mininet, you must have:
30

    
31
* A Linux 2.6.26 or greater kernel compiled with network namespace support
32
  enabled (see INSTALL for additional information.)
33

    
34
* An OpenFlow implementation (either the reference user or kernel
35
  space implementations, or Open vSwitch.) Appropriate kernel modules
36
  (e.g. tun and ofdatapath for the reference kernel implementation) must
37
  be loaded.
38

    
39
* Python, bash, ping, iperf, etc.
40

    
41
* Root privileges (required for network device access)
42

    
43
Currently Mininet includes:
44

    
45
- A simple node infrastructure (Host, Switch, Controller classes) for
46
  creating virtual OpenFlow networks
47
	
48
- A simple network infrastructure (Mininet class) supporting parametrized
49
  topologies (Topo subclasses.) For example, a tree network may be created
50
  with the command
51
  
52
  # mn --topo tree,depth=2,fanout=3
53
  
54
- Basic tests, including connectivity (ping) and bandwidth (iperf)
55

    
56
- A command-line interface (CLI class) which provides useful 
57
  diagnostic commands, as well as the ability to send a command to a
58
  node. For example,
59
  
60
  mininet> h11 ifconfig -a
61
  
62
  tells host h11 to run the command 'ifconfig -a'
63

    
64
- A 'cleanup' command to get rid of junk (interfaces, processes, files in
65
  /tmp, etc.) which might be left around by Mininet or Linux. Try this if 
66
  things stop working!
67
  
68
  # mn -c
69
  
70
- Examples (in the examples/ directory) to help you get started.
71

    
72
Batteries are not included (yet!)
73

    
74
However, some preliminary installation notes are included in the INSTALL
75
file.
76

    
77
Additionally, much useful information is available on the Mininet wiki:
78

    
79
http://www.openflowswitch.org/foswiki/bin/view/OpenFlow/Mininet
80

    
81
Enjoy, and good luck!
82

    
83
---
84
Bob Lantz
85
rlantz@cs.stanford.edu