110 lines
2.8 KiB
Plaintext
110 lines
2.8 KiB
Plaintext
|
|
Mininet Examples
|
|
|
|
These examples are intended to help you get started using
|
|
Mininet's Python API.
|
|
|
|
---
|
|
|
|
baresshd.py:
|
|
|
|
This example uses Mininet's medium-level API to create an sshd
|
|
process running in a namespace. Doesn't use OpenFlow.
|
|
|
|
consoles.py:
|
|
|
|
This example creates a grid of console windows, one for each node,
|
|
and allows interaction with and monitoring of each console, including
|
|
graphical monitoring.
|
|
|
|
controllers.py:
|
|
|
|
This example creates a network with multiple controllers, by
|
|
using a custom Switch() subclass.
|
|
|
|
controllers2.py:
|
|
|
|
This example creates a network with multiple controllers by
|
|
creating an empty network, adding nodes to it, and manually
|
|
starting the switches.
|
|
|
|
cpu.py:
|
|
|
|
This example tests iperf bandwidth for varying CPU limits.
|
|
|
|
emptynet.py:
|
|
|
|
This example demonstrates creating an empty network (i.e. with no
|
|
topology object) and adding nodes to it.
|
|
|
|
hwintf.py:
|
|
|
|
This example shows how to add an interface (for example a real
|
|
hardware interface) to a network after the network is created.
|
|
|
|
limit.py:
|
|
|
|
This example shows how to use link and CPU limits.
|
|
|
|
linearbandwidth.py:
|
|
|
|
This example shows how to create a custom topology programatically
|
|
by subclassing Topo, and how to run a series of tests on it.
|
|
|
|
miniedit.py:
|
|
|
|
This example demonstrates creating a network via a graphical editor.
|
|
|
|
multiping.py:
|
|
|
|
This example demonstrates one method for
|
|
monitoring output from multiple hosts, using node.monitor().
|
|
|
|
multipoll.py:
|
|
|
|
This example demonstrates monitoring output files from multiple hosts.
|
|
|
|
multitest.py:
|
|
|
|
This example creates a network and runs multiple tests on it.
|
|
|
|
popen.py:
|
|
|
|
This example monitors a number of hosts using host.popen() and
|
|
pmonitor().
|
|
|
|
popenpoll.py:
|
|
|
|
This example demonstrates monitoring output from multiple hosts using
|
|
the node.popen() interface (which returns Popen objects) and pmonitor().
|
|
|
|
scratchnet.py, scratchnetuser.py:
|
|
|
|
These two examples demonstrate how to create a network by using the lowest-
|
|
level Mininet functions. Generally the higher-level API is easier to use,
|
|
but scratchnet shows what is going on behind the scenes.
|
|
|
|
simpleperf.py:
|
|
|
|
A simple example of configuring network and CPU bandwidth limits.
|
|
|
|
sshd.py:
|
|
|
|
This example shows how to run an sshd process in each host, allowing
|
|
you to log in via ssh. This requires connecting the Mininet data network
|
|
to an interface in the root namespace (generaly the control network
|
|
already lives in the root namespace, so it does not need to be explicitly
|
|
connected.)
|
|
|
|
treeping64.py:
|
|
|
|
This example creates a 64-host tree network, and attempts to check full
|
|
connectivity using ping, for different switch/datapath types.
|
|
|
|
tree1024.py:
|
|
|
|
This example attempts to create a 1024-host network, and then runs the
|
|
CLI on it. It may run into scalability limits, depending on available
|
|
memory and sysctl configuration (see INSTALL.)
|
|
|