Simplify port specification.
For the moment, I've removed the ability to specifya dict of options without using **. This is a slightlyunfortunate trade-off since it simplifies implementationat the expense of making the API slightly less convenient(if somewhat more consistent.)
Change to allow addLink() without specifying ports.
Add getNodeByName for hifi compatibility.
Attempt at revised/simplified topo class:
- keys are strings- metadata is simply a dict- buildFromTopo greatly simplified
Fix CLI commands.
Fix codecheck and MininetWithControlNet.
Add support for specifying host IP range with --ipbase.
Fix examples to work with new API (and vice-versa.)
Move init() into Mininet() and remove calls (since called automatically.)Note: we should probably rename it "setup()" to avoid confusion.
Support for CFS bandwidth limiting.Also trying to fix NOX cmdline opt, but broken at the moment.
New configuration scheme and support for CPU limits (RT).
Intf and Link classes. Latter support bandwidth limits using tc.
Attempt to make iperf test more robust.
Rename Controller.controller to .command
Added controller class arg to addController().
Add option to turn off passive listening port
Add passive listening port
Add more param choices for iperf udp on CLI
Fixed minor breakage due to code cleanup.
Changed to use new cmd interface.
I'm still not 100% sure on this.
Minor comment changes.
Changed to automatically call build() if necessary.
Changed messages slightly.
For a network, we create "links" rather than "edges" on a graph.
"Edges" is a bit confusing because the links may not be edge links onthe network!
Also, since you're not necessarily running a "test", I changed it tojust say that we're "Done."
Support gnome terminals too
Caution: code is incomplete - can't set a default type from the CLIand in some places the phrase xterm should be replaced by terminal.
Change run() to allow running external functions.
Added two spaces before in-line # comments.
Changed mininet.link() to mininet.configLinkStatus(src,dst,status)
Also rearranged parameters in link command to
mininet> link s1 h2 up
To resemble ifconfig a bit more.
Changed mininet.link() to support multiple links.
It should also probably be renamed to something like:configLinks(src, dst, status).
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...
Changed remaining refs to netns to refer to mnexec.
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.
Fix param typo
Handle ping output for paused hosts
Add port status change command
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.
Changed to use Node.MAC.
Rename cliinfo debug level to output
Add new loglevel to display CLI output only
Also print warning if user chooses a loglevel that will hide CLI output.
Changed setIP to accept numeric prefix len. Added Node.deleteIntfs().
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.
Minor cleanup of mn/net and fixes for CLI.
All commands should work now.
Changed custom feature so that params aren't added to globals.
There is probably a better way of doing this, but currentlyparseCustomFile can modify globals (e.g. TOPOS) as well asinstance variables (self.validate) and classes (e.g. MyTopo),which are also in the global name space....
Changed to dump bad iperf output.
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.
Changed to use info() and error() logging aliases.
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.
Moved CLI into its own file. Also, MininetCLI is now just 'CLI'.
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.
CLI: add node dump-all-data command
CLI: add interface dump command
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.
Remove accidentally-added iperf verbosity
Add iperf UDP test
Add xterm support
Separate kernel and user switches into separate objects
Enable controller-less setups
Add more NOX options
Restore iperf test
Also simplify test running.
Auto-install run and clean scripts
Also remove usused imports and outdated doc text.
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 fixLimits function to util
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.
Remove unused function
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...