Statistics
| Branch: | Tag: | Revision:

mininet @ 60d9ead6

Name Size Revision Age Author Comment
  bin 60d9ead6 almost 11 years David Erickson Added a RemoteController object Now you can ru...
  examples 8a034f4f almost 11 years Brandon Heller Add xterm support
  mininet 60d9ead6 almost 11 years David Erickson Added a RemoteController object Now you can ru...
INSTALL 2.97 KB 83086439 almost 11 years Brandon Heller Remove/merge obsolete examples
Makefile 113 Bytes ff43615a almost 11 years Brandon Heller Add example unit tests and Makefile target
NOX_INSTALL 632 Bytes 0608b593 almost 11 years Brandon Heller Add notes on installing NOX on Deb testing.
README 2.38 KB 0a9ea29f almost 11 years Bob Lantz Fixed problem for empty lists in cleanup. Added...
netns.c 377 Bytes 6a30c394 almost 11 years Bob Lantz Changed to include linux/sched.c for compiling ...
setup.py 956 Bytes 8f20b95d almost 11 years Brandon Heller Auto-install run and clean scripts Also remove...

Latest revisions

# Date Author Comment
376bcba4 01/03/2010 05:16 PM Brandon Heller

Add options for auto MAC and ARP setup.

Auto MAC setup sets each host MAC equal to its DPID, which simplifies
debugging.

Auto ARP setup removes the need for broadcast support for ARP, which
enables a smaller NOX controller.

433a7cc8 01/03/2010 11:53 AM Brandon Heller

Make Ripcord-specific topologies optional

If ripcord.dctopo imports properly, then include its topologies in the
list of available ones. Also replace topo.py with new generic
topologies and update paths.

c98514ae 01/03/2010 10:44 AM Brandon Heller

Support more topologies

ac65ea3f 01/03/2010 10:43 AM Brandon Heller

Increase createLink retry count

Was seeing occasional errors with tests run back-to-back.

fcf6a16f 01/02/2010 07:20 PM Brandon Heller

Remove accidentally-added iperf verbosity

0cd489a7 01/02/2010 06:58 PM Brandon Heller

Add iperf UDP test

8a034f4f 01/02/2010 06:58 PM Brandon Heller

Add xterm support

1bb4412f 01/02/2010 06:58 PM Brandon Heller

Separate kernel and user switches into separate objects

60d9ead6 01/01/2010 11:26 AM David Erickson

Added a RemoteController object

Now you can run a controller on a remote PC that is
not on the same pc as Mininet.

54037995 01/01/2010 11:16 AM Brandon Heller

Add MAC auto set for switches

Also use indexing for DPIDs to avoid zeroed MAC

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