Apparently errRun isn't as flexible as I thought...
Add mountCgroups() and tweak/correct fixLimits()
Move dumpNetConnections to util() because it's useful!
Have errFail report cmd and stderr as well as exit code.
Attempt at revised/simplified topo class:
- keys are strings- metadata is simply a dict- buildFromTopo greatly simplified
Fix codecheck and MininetWithControlNet.
Add support for specifying host IP range with --ipbase.
Fix examples to work with new API (and vice-versa.)
Add custom() function for customizing constructors.
Tweak errRun; add errFail and numCores.
Fix pylint complaint and add natural sort key function.
Add errRun to run a command with stderr, stdout, return code and monitoring.
Fixed link check and updated quietRun interface.
Link check wasn't quite right - e.g. 'eth1' could be found in'eth10' previously.
Updated quietRun to allow passing in args directly rather thanas a list.
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!...
Added newline at EOF.
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.
Add flexible topology input parsing
Now you can pass a topology name followed by params. For example, tocreate a switch with 3 hosts:
sudo mn --topo single,3
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 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.
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.
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.
Increase createLink retry count
Was seeing occasional errors with tests run back-to-back.
Add MAC auto set for switches
Also use indexing for DPIDs to avoid zeroed MAC
Move fixLimits function to util
Move utility functions out of mininet.py
Having a file with the same name as its package creates hard-to-diagnoseimport error, so rename mininet.py to net.py. This commit moves utilityfunctions, generally those dealing with network namespaces and interface...