Skip to content
Snippets Groups Projects
user avatar
Bob authored
Update to reflect new NOX classic repo on github and default branch.
655194d3
History
Mininet: A Simple Virtual Testbed for OpenFlow/SDN
                    or
How to Squeeze an OpenFlow Network onto your Laptop

Mininet 2.0.0d2


Welcome to Mininet!

Mininet creates 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 may be invoked directly from the command line, and also provides a handy Python API for creating networks of varying sizes and topologies.

In order to run Mininet, you must have:

  • A Linux kernel compiled with network namespace support enabled (see INSTALL for additional information.)

  • An OpenFlow implementation (either the reference user or kernel space implementations, or Open vSwitch.) Appropriate kernel modules (e.g. tun and ofdatapath for the reference kernel implementation) must be loaded.

  • Python, bash, ping, iperf, etc.

  • Root privileges (required for network device access)

Currently Mininet includes:

  • A simple node infrastructure (Host, Switch, Controller classes) for creating virtual OpenFlow networks

  • A simple network infrastructure (Mininet class) supporting parametrized topologies (Topo subclasses.) For example, a tree network may be created with the command

    # mn --topo tree,depth=2,fanout=3

  • Basic tests, including connectivity (ping) and bandwidth (iperf)

  • A command-line interface (CLI class) which 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' command to get rid of junk (interfaces, processes, files in /tmp, etc.) which might be left around by Mininet or Linux. Try this if things stop working!

    # mn -c

  • Examples (in the examples/ directory) to help you get started.

Batteries are not included (yet!)

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

Additionally, much useful information, including a Mininet tutorial, is available on the Mininet Wiki.

Enjoy, and good luck!


Bob Lantz rlantz@cs.stanford.edu