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.