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