Statistics
| Branch: | Tag: | Revision:

mininet @ efc9a01c

Name Size Revision Age Author Comment
  bin 54977c79 over 10 years Bob Lantz Changed to be executable.
  custom c3a44400 over 10 years Bob Lantz Changed custom feature so that params aren't ad...
  examples efc9a01c over 10 years Bob Lantz Moved link creation into Node.addIntf() and fix...
  mininet efc9a01c over 10 years Bob Lantz Moved link creation into Node.addIntf() and fix...
  util 28ab4a33 over 10 years Brandon Heller Add env var to install script
.pylint 8.8 KB 46fa564a over 10 years Bob Lantz Changed to ignore W0511, which fails on TODO, F...
INSTALL 2.48 KB f52edfc5 over 10 years Brandon Heller Move sysctl params to separate file Simplifies...
Makefile 394 Bytes 281f6e59 over 10 years Bob Lantz Minor changes to get 'make test' to pass. - so...
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 945 Bytes 3774f234 over 10 years Brandon Heller Update license and add networkx dependency

Latest revisions

# Date Author Comment
efc9a01c 03/03/2010 09:52 PM Bob Lantz

Moved link creation into Node.addIntf() and fixed util:CreateLink().

Also tweaked cmd/cmdPrint to make them more beautiful and functional,
and a few other minor changes, such as using a new idiom for verbose.

These changes support reinstating the examples.

04fa18dc 03/03/2010 09:51 PM Bob Lantz

Changed cmdPrint to cmd.

a681f9b6 03/03/2010 09:50 PM Bob Lantz

Added debug() convenience function.

54977c79 03/03/2010 09:49 PM Bob Lantz

Changed to be executable.

1fdcd676 03/03/2010 09:46 PM Bob Lantz

Added py command to evaluate Python expressions, e.g. h1.cmd('ls')

137ec305 03/01/2010 11:38 PM Bob Lantz

Removed trailing spaces.

63214ea2 03/01/2010 11:34 PM Bob Lantz

Merge branch 'customtopos' into bl-dev

e0cfcdd5 03/01/2010 11:21 PM Bob Lantz

Tweaks to pass code check.

2235f216 02/28/2010 07:40 AM Bob Lantz

Minor cleanup of mn/net and fixes for CLI.

All commands should work now.

c3a44400 02/28/2010 07:19 AM Bob Lantz

Changed custom feature so that params aren't added to globals.

There is probably a better way of doing this, but currently
parseCustomFile can modify globals (e.g. TOPOS) as well as
instance variables (self.validate) and classes (e.g. MyTopo),
which are also in the global name space....

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