mininet @ 51270ce4
Name | Size | Revision | Age | Author | Comment |
---|---|---|---|---|---|
examples | 51270ce4 | about 11 years | Brandon Heller | Use setuptools to install python files Now, to... | |
mininet | 51270ce4 | about 11 years | Brandon Heller | Use setuptools to install python files Now, to... | |
INSTALL | 3.03 KB | 51270ce4 | about 11 years | Brandon Heller | Use setuptools to install python files Now, to... |
NOX_INSTALL | 632 Bytes | 0608b593 | about 11 years | Brandon Heller | Add notes on installing NOX on Deb testing. |
README | 2.38 KB | 0a9ea29f | about 11 years | Bob Lantz | Fixed problem for empty lists in cleanup. Added... |
netns.c | 377 Bytes | 6a30c394 | about 11 years | Bob Lantz | Changed to include linux/sched.c for compiling ... |
setup.py | 776 Bytes | 51270ce4 | about 11 years | Brandon Heller | Use setuptools to install python files Now, to... |
Latest revisions
View all revisions | View revisions
README
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-testing seems to have such a kernel, but it doesn't
work for compiling nox, unfortunately.)
* 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 ). It 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' script to get rid of junk (interfaces, processes, files in
/tmp, 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
Also available in: Atom