Moved monitor() and readline() into net.py and node.py respectively,
which will hopefully be useful for monitoring large sets of hosts,
as is done in udpbwtest.py.
Changed iperf to use interactive command infrastructure (such as it
is), which may make it more reliable. Hopefully it's a bit clearer
as well, although it is slightly more complicated.
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.
Also remove all non-object-oriented legacy Mininet code and update
tests.
User-space compatibility is untested, but most of the code for it is
still in.
Nodes include Switch, Host, and Controller; move these to a separate
file.
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.
Having a file with the same name as its package creates hard-to-diagnose
import error, so rename mininet.py to net.py. This commit moves utility
functions, generally those dealing with network namespaces and interface
management, into their own file.
Also fix a few minor formatting bugs and clean up logging code (which
had issues when multiple files would import mininet.logging_mod).
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
topology object along with controller, switch, and host classes.
The modified code is all in ripcordtest.py, but will need to replace the
main mininet.py code eventually.
Kernel-space support only, for now.
Not sure if I want nox_core -v in nox.py - it's useful for debugging.
ripcordtest.py (and grid.py) still depend on routing, which I haven't been
able to test yet.
Unfortunately, I can't test this at the moment since nox seems not to
be able to find the routing module.
Added/renamed examples: grid.py, tree1024.py
Added -v flag to nox arguments, so we have some chance of figuring
out why nox is dying, as it generally is.
Network may now be used with custom controllers.
An example of doing this is in nox.py, which instantiates at TreeNet
using a custom Controller, NoxController, that runs nox_core rather
than the reference controller.
low-level primitives.
The "nox.py" example attempts to use nox as a controller rather than
controller(8).
More edits for INSTALL and README, and refinements for sshd and xterm
examples.
Fixed xterm.py (and cleanup) to clean up screen sessions.
Cleaned up sshd.py (though interface is still in flux.)
Added 1024-node network example (treenet1024.py).
Added example showing multiple tests on a single network (multitest.py).
Renamed examples to make them easier to type!