Statistics
| Branch: | Tag: | Revision:

mininet @ 31015ef5

Name Size Revision Age Author Comment
  bin 01e0758e almost 9 years Bob Lantz Add 'type mn -h for details' to usage message.
  custom ce15c4f6 almost 9 years Bob Lantz rename Topo() methods for consistency: add_node...
  debian cd580deb about 9 years Bob Lantz Removed redundant debian/mininet.manpages
  doc 31015ef5 almost 9 years Bob Lantz Make doc a real subdirectory so we can put othe...
  examples ce15c4f6 almost 9 years Bob Lantz rename Topo() methods for consistency: add_node...
  mininet 4ff6243f almost 9 years Bob Lantz Update version number to 2.0.0d3 (and pass vers...
  util 9c0ed88c almost 9 years Bob Lantz Create version check utility and add to code ch...
.gitattributes 17 Bytes 29884297 almost 9 years Bob Lantz show method names in git diff output
.gitignore 98 Bytes 4f33cad0 almost 9 years Bob Lantz Ignore more stuff, notably generated docs and m...
.pylint 8.74 KB 350fdbfe over 9 years Bob Lantz Allow modules (node.py) to be 1500 lines. Maybe...
INSTALL 2.64 KB 600dad24 almost 9 years Bob Lantz Added package installation "instructions"
LICENSE 1.66 KB 93f9b956 almost 9 years Bob Lantz Updated copyright to fix #68
Makefile 1.43 KB 31015ef5 almost 9 years Bob Lantz Make doc a real subdirectory so we can put othe...
README.md 2.31 KB 4ff6243f almost 9 years Bob Lantz Update version number to 2.0.0d3 (and pass vers...
mnexec.c 4.59 KB d85a58fe about 9 years Bob Lantz Autogenerate man page for mnexec.
setup.py 1.19 KB e8238d18 almost 9 years Bob Lantz Use Mininet version number from mininet.net Con...

Latest revisions

# Date Author Comment
31015ef5 10/29/2012 10:36 PM Bob Lantz

Make doc a real subdirectory so we can put other things there.

600dad24 10/05/2012 02:08 AM Bob Lantz

Added package installation "instructions"

4ff6243f 10/05/2012 02:02 AM Bob Lantz

Update version number to 2.0.0d3 (and pass version check)

9c0ed88c 10/05/2012 02:02 AM Bob Lantz

Create version check utility and add to code check.
Fixes #70

93f9b956 10/02/2012 01:01 AM Bob Lantz

Updated copyright to fix #68

b69ef234 09/15/2012 01:23 AM Bob Lantz

Fix multi-controller/failover support on User, OVSLegacy switches

29884297 09/14/2012 10:18 PM Bob Lantz

show method names in git diff output

d4ece25b 09/11/2012 01:49 PM Bob Lantz

Deprecate NOX-classic; "install" POX. Fixes #61

655194d3 08/29/2012 10:10 PM Bob

Update util/install.sh

Update to reflect new NOX classic repo on github and default branch.

6eb01d79 08/24/2012 01:36 AM Bob Lantz

Minor formatting changes.

View all revisions | View revisions

README


Mininet: A Simple Virtual Testbed for OpenFlow/SDN
                    or
How to Squeeze an OpenFlow Network onto your Laptop

Mininet 2.0.0d3


Welcome to Mininet!

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

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

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

In order to run Mininet, you must have:

  • A Linux kernel compiled with network namespace support enabled (see INSTALL for additional information.)

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

  • Python, bash, ping, iperf, etc.

  • Root privileges (required for network device access)

Currently Mininet includes:

  • A simple node infrastructure (Host, Switch, Controller classes) for creating virtual OpenFlow networks

  • A simple network infrastructure (Mininet class) supporting parametrized topologies (Topo subclasses.) For example, a tree network may be created with the command

    # mn --topo tree,depth=2,fanout=3

  • Basic tests, including connectivity (ping) and bandwidth (iperf)

  • A command-line interface (CLI class) which provides useful diagnostic commands, as well as the ability to send a command to a node. For example,

    mininet> h11 ifconfig -a

    tells host h11 to run the command ifconfig -a

  • A 'cleanup' command to get rid of junk (interfaces, processes, files in /tmp, etc.) which might be left around by Mininet or Linux. Try this if things stop working!

    # mn -c

  • Examples (in the examples/ directory) to help you get started.

Batteries are not included (yet!)

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

Additionally, much useful information, including a Mininet tutorial, is available on the Mininet Wiki.

Enjoy, and good luck!


Bob Lantz rlantz@cs.stanford.edu

Also available in: Atom