Add passive listening port
Delete spaces around =.
Added additional sanity checks for when OF/OVS isn't installed.
Change to automatically update IP and MAC addresses.
mininet.node.SWITCH_PORT_BASE specifies first switch port number.
This should be mostly cosmetic, but it causes switches to numbertheir ports consistently with OpenFlow 1.0, which starts at 1.For older versions of OpenFlow, SWITCH_PORT_BASE may be set to zero.
Remove print statement left in
Change port base from 0 to 1
OpenFlow versions > v0.9 require this.
Only tested w/FatTree topo - it's almost a guarantee that this breaksevery other topology.
Small OVS API change
Fix --mac breakage
The OVS interface for this moved to ovs-openflowd.
This functionality was never there for the user-space switch. Now it'sin.
Darned trailing whitespace.
Consistently use tcp:%s:%d for controller IP address format.
(In user, kernel and ovsk switch classes.)
Removed debugging printing.
Note now that we can pass options into switches; for example,we could enable stp with Switch( 's1', opts='--stp' ).
Changed to support new cmd() interface.
It seems that it is more convenient to be able to call
cmd( 'foo', 'bar', 1)
for example. However, this may make it slightly lessefficient, so we will see how it works.
Added timeout option for monitor().
This allows monitor() to be used for polling. Of course, youprobably want to use poll() first anyway, but it's nice notto have to block if there's no output.
Fixed catch: typo.
Changed to not die immediately if we send in an empty command.
There might still be some issues with this however...
Cleaning up read/monitor/interrupt.
Now you don't need to specify a default read count.
Now, by default, we print the pid out in sendCmd() which allows usto snarf it later and set lastPid correctly.
Now, we wrap os.kill() in a try block, so that if the process is...
Remove unneeded '-' in '-n', which was causing error message.
Change to use printf rather than echo.
Changes to pass code check.
We should check NOXController and RemoteController to make sure thatthey are not broken, but I cannot do this at the moment.
Added two spaces before in-line # comments.
Minor formatting changes.
Changed mininet.link() to support multiple links.
It should also probably be renamed to something like:configLinks(src, dst, status).
Revert "Add ability to pause and resume any node"
This reverts commit 07aad110819778fdf65a43a6d11e9ca46c9881db.
When the semantics are clear, functionality like this will get added back toMininet.
Fix NOX breakage
Controllers are no longer namespace-able, and all calls need one fewerarg.
Also use more sensible temporary variable name.
Buffered output. Added net.monitor() and node.readline()
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...
Change Node.monitor() to just return output.
It seems easier to rely on node.waiting for the moment.
Change ofprotocold -> ovs-openflowd in OVSKernelSwitch.
Automatically load kernel module dependencies
Before this commit, you'd have to manually insert the kernel module forOVS or OF kernel modules, and you couldn't run one regression test withall 3.
Now, these are kmod insert/remove is handled automatically.
Add ability to pause and resume any node
Support for control-C. Finally.
I've changed the way things work a bit:
1. netns is replaced by mnexec, a general-purpose mininet helper.
2. For interactive commands, we now use mnexec -p, which prints out the pid, so we can kill it when someone hits control-C!...
Show PIDs in dump()
Corrected list checkin sendCmd.
Fix sending commands to switches
Detach shells from tty; monitoring changes.
Call netns using setsid to detach from the tty; this isintended to fix the problem of control-C killing your network.
sendInt() doesn't actually work - hopefully we can fix this in thefuture, but it's tricky since we want to detach the many shells from...
Fix OVS breakage
Fixed docstrings for switch arg: name.
Reinstantiated inNamespace and routed control network.
We need to figure out how to specify the IP addresses for therouted control network. For now I'm going back to 192.168.12x.y
Also changed controller params to use IP strings rather thannumbers. However, we still need to clarify what ControllerParams...
Removed underscores for public Node methods. Minor cleanup & comments.
Restored accidentally deleted kill %ofpd lines. Added Node.MAC
Fix remote controller param
Changed setIP to accept numeric prefix len. Added Node.deleteIntfs().
Restored scratchnet and scratchnetuser demos.
Also changed the str format for nodes to use str() ratherthan repr() so we don't end up with extraneous quotes.
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.
Removed trailing spaces.
Merge branch 'customtopos' into bl-dev
Made it possible to create a Mininet() without using a Topo object.
This increases flexibility by allowing a topology to be manually createdin Python, or specified using another format, without having to createa Topo object first.
However, Topos are useful, and are still the default topology object!
Fix KeyError for missing NOX env var
Added a bit to comments, and removed trailing spaces.
Minor cleanup; clarified fdToNode (still need to test however.)
Removed hash-bang in module files which aren't executed directly,with the exception of topo.py, which I haven't touched.
Comment tweaks and additions.
Minor changes to get 'make test' to pass.
- some namespace conflicts due to unpep8- fixed infinite recursion caused by removing redundant makeIntfPair
First crack at restoring mininet python style, assisted by handy'unpep8' script, which does most of the work.
- topo.py is still in pep8- not all examples work, but this is due to other issues
Renamed logging_mod.py -> log.py
Updated other files accordingly.
Support OpenVSwitch in kernel-mode
Add static code checking for style and errors
This required a change to logging, which now uses a singleton pattern.
For all future checkins, 'make codecheck' should pass.
Restore user-space switch option
Switches and controller in root namespace only, for now.
Support out-of-order link addition
Sort interface names before passing to dpctl for kernel switch, so thatlinks for multipath topologies can be added in any order.
Add default ip and port for remote controller
Add options for auto MAC and ARP setup.
Auto MAC setup sets each host MAC equal to its DPID, which simplifiesdebugging.
Auto ARP setup removes the need for broadcast support for ARP, whichenables a smaller NOX controller.
Separate kernel and user switches into separate objects
Enable controller-less setups
Add more NOX options
Added a RemoteController object
Now you can run a controller on a remote PC that isnot on the same pc as Mininet.
Add MAC auto set for switches
Also use indexing for DPIDs to avoid zeroed MAC
Move TreeNet to new Mininet API
Also remove all non-object-oriented legacy Mininet code and updatetests.
User-space compatibility is untested, but most of the code for it isstill in.
Move Node functions into their own file
Nodes include Switch, Host, and Controller; move these to a separatefile.
This file still could use some attention to hide private functions.Node seems like a primary class to extend, for adding stuff like OpenvSwitch, so it could benefit from a simpler interface.