| Branch: | Tag: | Revision:

mininet @ 54037995

# 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

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 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

16c57ddb 01/02/2010 06:58 PM Brandon Heller

Enable controller-less setups

4804237f 01/02/2010 06:58 PM Brandon Heller

Add more NOX options

eeb9cb3c 01/02/2010 06:58 PM Brandon Heller

Restore iperf test

Also simplify test running.

83086439 01/02/2010 06:55 PM Brandon Heller

Remove/merge obsolete examples

8f20b95d 01/02/2010 10:43 AM Brandon Heller

Auto-install run and clean scripts

Also remove usused imports and outdated doc text.

a6b47322 01/02/2010 10:42 AM Brandon Heller

Add, a script to run Mininets.

Simplifies launching a Mininet or running tests on one.

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

Add MAC auto set for switches

Also use indexing for DPIDs to avoid zeroed MAC

8b5062a3 12/26/2009 10:25 PM Brandon Heller

Move TreeNet to new Mininet API

Also remove all non-object-oriented legacy Mininet code and update

User-space compatibility is untested, but most of the code for it is
still in.

e3621eb0 12/26/2009 03:40 PM Brandon Heller

Move fixLimits function to util

89bf3103 12/20/2009 10:19 PM Brandon Heller

Move Node functions into their own file

Nodes include Switch, Host, and Controller; move these to a separate

This file still could use some attention to hide private functions.
Node seems like a primary class to extend, for adding stuff like Open
vSwitch, so it could benefit from a simpler interface.

4d2d52c3 12/20/2009 05:46 PM Brandon Heller

Remove unused function

220890a0 12/20/2009 05:32 PM Brandon Heller

Move utility functions out of

Having a file with the same name as its package creates hard-to-diagnose
import error, so rename to This commit moves utility
functions, generally those dealing with network namespaces and interface...

bc547080 12/20/2009 12:03 PM Brandon Heller

Rewrite Ripcord test and most of mininet

Make much of the Mininet code object-oriented around the new Mininet
object, and create a generic way to build a Mininet.

Previously, each network topology was created by Mininet API calls,
which seems much less approachable for new users than passing in a...

75810224 12/20/2009 11:54 AM Brandon Heller

Remove verbose command printouts

8e63d3cb 12/20/2009 03:21 AM Brandon Heller

Add missing newline printouts

fabbac88 12/20/2009 03:21 AM Brandon Heller

Document retry function

2e52801d 12/20/2009 03:20 AM Brandon Heller

Fix IP printing exception

b426d24e 12/20/2009 03:05 AM Brandon Heller

Minor documentation

b6423f8c 12/19/2009 04:36 AM Brandon Heller

Fix module resolution

Forgot to add

15f37cc2 12/19/2009 04:36 AM Brandon Heller

Add LinearNet test case

7b804ffb 12/19/2009 04:36 AM Brandon Heller

More flexible logging support

Use customized StreamHandler from Python logging module to print
only messages for the specified loglevel to the console.

1095628b 12/18/2009 11:51 PM Brandon Heller

Clean up display

Don't print retry errors by default.

7c1d7c9f 12/18/2009 11:42 PM Brandon Heller

Don't attempt to kill processes twice

Was causing OSErrors because the process to kill no longer existed.

345bf7cc 12/18/2009 11:39 PM Brandon Heller

Reduce interface move delay and make configurable

Much faster now; from 1 s delay to 100 us.

ff43615a 12/18/2009 08:15 PM Brandon Heller

Add example unit tests and Makefile target

fd99d67c 12/18/2009 08:12 PM Brandon Heller

Add make clean to remove dist files created by setuptools

51270ce4 12/18/2009 08:12 PM Brandon Heller

Use setuptools to install python files

Now, to reference mininet files, use 'import mininet.mininet'.

PYTHONPATH mods are no longer required for installation.

cd27f9db 12/18/2009 08:11 PM Brandon Heller

Start controller with verbose by default

ede34b6a 12/18/2009 08:10 PM Brandon Heller

Add missing function import

40580731 12/18/2009 12:31 AM Bob Lantz

Added simple all-to-all UDP bandwidth test.

9bb15c76 12/18/2009 12:31 AM Bob Lantz

Added missing value (60) in list. ;-)

b7640209 12/18/2009 12:30 AM Bob Lantz

Changed to use class vars and method to track nodes.
Useful for monitoring the output of a set of nodes.

1417fe72 12/18/2009 12:29 AM Bob Lantz

Changed cleanup to do fast things first.

7df36e47 12/16/2009 06:40 AM Bob Lantz

Changed to be much (!) smarter - it now reuses the network! Amazing.

f939eb56 12/16/2009 06:38 AM Bob Lantz

Changes to
- invoke ofdatapath with --fail=closed (no controller = no connectivity!)
- stop hosts before switches before the controller
- this seems slightly more sensible
- it's the reverse of the startup order
- fix retry() so it kind of works (it's actually helpful I think!)

0b4ae53a 12/16/2009 06:37 AM Bob Lantz

We don't need to print the links.

e04f0922 12/16/2009 05:01 AM Bob Lantz

Bah, wasn't using correct command to remove datapaths! Fixed.

05cce994 12/16/2009 03:59 AM Bob Lantz

Haha, retry is definitely not right. Time to take a break I think.

0a9ea29f 12/16/2009 03:53 AM Bob Lantz

Fixed problem for empty lists in cleanup.
Added retry() function for createLink to see if it helps (probably won't.)
Random edits to docs.

696a619d 12/16/2009 02:50 AM Bob Lantz

Minor tweaks and corrections.
Added commentary on control network to
Hopefully fixed for real.

ea420ee2 12/16/2009 02:49 AM Bob Lantz

First crack at converting cleanup to Python.

2708cadd 12/16/2009 01:31 AM Bob Lantz

Fixed LinearNet to pass correct parametersto GridNet.__init__()

65733319 12/16/2009 01:22 AM Bob Lantz

Fixed to import Cli, so it should work now.

6a30c394 12/16/2009 01:14 AM Bob Lantz

Changed to include linux/sched.c for compiling on debian-stable.

93519c04 12/15/2009 02:13 PM Bob Lantz

Fixed control network/user datapath networks.

9dbb68df 12/15/2009 06:37 AM Bob Lantz

Fixed iperf test.
Not sure if I want nox_core -v in - it's useful for debugging. (and still depend on routing, which I haven't been
able to test yet.

77131e8f 12/15/2009 06:13 AM Bob Lantz

OK, now we run 'routing' for the nox configurations with loops.

Unfortunately, I can't test this at the moment since nox seems not to
be able to find the routing module.

Added/renamed examples:,

Added -v flag to nox arguments, so we have some chance of figuring...

c53fa3ba 12/15/2009 05:35 AM Bob Lantz

Second crack at a that actually works. was a name conflict - ugh!
This one creates a network successfully, but ping doesn't work with
nox out of the box at least.

0b084dd5 12/15/2009 05:01 AM Bob Lantz

Added, which attempts to make a FatTree using ripcord and
instantiate a mininet Network based on its topology.

Also minor cleanup of and GridNet class in

2f534913 12/15/2009 04:14 AM Bob Lantz

First crack at allowing Controller to be customized.
Network may now be used with custom controllers.
An example of doing this is in, which instantiates at TreeNet
using a custom Controller, NoxController, that runs nox_core rather
than the reference controller.

845dedca 12/15/2009 03:21 AM Bob Lantz

One more change to revert the broken exec behavior.

ac75d7cf 12/14/2009 09:46 PM Bob Lantz

Inadvertently added verbosity into Node.setIP(); removed.

fb7658c8 12/14/2009 09:38 PM Bob Lantz

Since execing controller/ofprotocol was broken, reverting to just running in background.
This should eliminate ofprotocol bogons living on past the end of a test.

98332cb6 12/14/2009 09:22 PM Bob Lantz

Tweaks to documentation files and sshd and xterms examples.

Added scratchnetuser.

433503cf 12/14/2009 08:43 PM Bob Lantz

Added "from scratch" examples, to show how to create a network using
low-level primitives.

The "" example attempts to use nox as a controller rather than

More edits for INSTALL and README, and refinements for sshd and xterm

0608b593 12/12/2009 12:47 PM Brandon Heller

Add notes on installing NOX on Deb testing.

ea7c8795 12/12/2009 10:54 AM Brandon Heller

Ensure netns is in the path.

55dd9368 12/11/2009 05:21 PM Bob Lantz

Cleanup of doc files.
Fixed (and cleanup) to clean up screen sessions.
Cleaned up (though interface is still in flux.)
Added 1024-node network example (
Added example showing multiple tests on a single network (

08cef003 12/11/2009 02:17 PM Bob Lantz

Changed cleanup to vaporize zombie screen sessions.
Other minor cleanup.

f4d9e05d 12/11/2009 12:25 PM Bob Lantz

Fixed treePing64.
Minor tweaks to other files.

2a0cad3c 12/11/2009 12:01 PM Bob Lantz

Renamed and tweaked treePing64.

b3dd44d4 12/11/2009 11:58 AM Bob Lantz

Fixed bigTreePing64.
More edits for INSTALL and README files.
Batteries still not included (for the moment.) ;-)

3da2b148 12/11/2009 11:33 AM Bob Lantz

Place 'root namespace' in xterm title to make it clearer that
the node is running in the root namespace.

d8ef79df 12/11/2009 11:31 AM Bob Lantz

Tweaks for install and readme files.

af8f0b61 12/11/2009 11:22 AM Bob Lantz

Added INSTALL file incorporating Brandon's suggestions.

More tweaks for examples, which are still in progress.

42ba5d92 12/11/2009 10:34 AM Bob Lantz

Added sshd example, which starts up sshd on each host, allowing host access via ssh.

(It also adds a route from the root namespace to the data network via
the first OpenFlow switch, so when you ssh in you go through OpenFlow!)

Modified Network() to optionally decouple starting the network, running...

748e35d5 12/11/2009 07:39 AM Bob Lantz

Working on examples.
Added new example to create xterms.
Other minor changes.

4ccc7ee9 12/10/2009 09:47 AM Bob Lantz

Added examples, which may or may not work yet.

95d9a374 12/10/2009 08:21 AM Bob Lantz


Modified cleanup to use dpctl to remove kernel datapaths.

994c68f6 12/10/2009 07:24 AM Bob Lantz

Modified test infrastructure to return results.
Ping and iperf tests now return something possibly useful.

9011e0d2 12/10/2009 06:13 AM Bob Lantz

Fixed user datapath support.

6bd22292 12/10/2009 05:59 AM Bob Lantz

Added checks for tun and ofdatapath kernel modules.

eddef947 12/10/2009 05:13 AM Bob Lantz

Organized routines into classes:

Node -> { Host, Switch, Controller }
Network -> { TreeNet, GridNet -> LinearNet }

Modified cleanup to clean up kernel datapaths.

98d4f189 12/09/2009 02:08 AM Bob Lantz

Initial commit - first development version of Mininet