Skip to content
Snippets Groups Projects
user avatar
Bob Lantz authored
Fixed xterm.py (and cleanup) to clean up screen sessions.
Cleaned up sshd.py (though interface is still in flux.)
Added 1024-node network example (treenet1024.py).
Added example showing multiple tests on a single network (multitest.py).
Renamed examples to make them easier to type!
55dd9368
History
Name Last commit Last update
examples
INSTALL
README
cleanup
mininet.py
netns.c
    Mininet: A Simple Virtual Testbed for OpenFlow
                        aka
How to Squeeze a 1024-node OpenFlow Network onto your Laptop

(Extremely Experimental Development Version 0.1, December 2009)

---

Mininet creates simple 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 provides a set of Python classes and functions which enable
creation of OpenFlow networks of varying sizes and topologies.

In order to run Mininet, you must have:

* A Linux 2.6.26 or greater kernel compiled with network namespace support
  enabled. (Debian 5.0 or greater should work)

* The OpenFlow reference implementation (either the user or kernel
  datapath may be used, and the tun or ofdatapath kernel modules must be
  loaded, respectively)

* Python, bash, ping, iperf, etc.

* Root privileges (required for network device access)

* The netns program (included as netns.c), or an equivalent program
  of the same name, installed in an appropriate path location
  
* mininet.py installed in an appropriate Python path location

Currently mininet includes:

- A simple node infrastructure (Host, Switch, Controller classes) for
  creating virtual OpenFlow networks
	
- A simple network infrastructure (class Network and its descendants
  TreeNet, GridNet and LinearNet) for creating scalable topologies and
  running experiments (e.g. TreeNet(2,3).run(pingTest) )
  
- Some simple tests which can be run using someNetwork.run( test )
	
- A simple command-line interface which may be invoked on a network using
  .run( Cli )

- A 'cleanup' script to get rid of junk (interfaces, processes, etc.)
  which might be left around by mininet. Try this if things stop
  working!
  
- Examples (in examples/ directory) to help you get started.

Batteries are not included (yet!) 

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

---
Bob Lantz
rlantz@cs.stanford.edu