testing link stuff
Merge branch 'devel/defaultController' of https://github.com/cdburkard/mininet into cdburkard-devel/defaultController
Conflicts: bin/mn mininet/net.py
Check for Controller type using isinstance()
Tolerate passing controller objects into Mininet()
Don't remove items from a list we're iterating over
Merge pull request #318 from cdburkard/patches/hifi_fix
added support in iperf for different result formats.
set DefaultController as the mininet class default
Merge pull request #325 from cdburkard/patches/userspace_connect
added waitConnected attribute to mininet class
added default controller class
Change algorithm slightly and print progress
Minor message changes
Shutting down controller first
fixed last commit
fixed linearbandwidth and waitconnected
fixed waitConnected performance and moved waitConnected call to mn.start
conforming to style, and fixing documentation
added documentation for waitConnected timeout
improved waitConnected algorithm and set default wait time to wait forever
set default iperf formatting to none
Revert "fixed default iperf formatting behavior"
This reverts commit 0e733c77543b16a67d77465b416fdd77cb509807.
fixed default iperf formatting behavior
added support in iperf for different result formats. also added upper bounds for hifi tests
net: allow batch shutdown of multiple types of switches
Each switch class will be called to shutdown its own instances.
Merge pull request #303 from jhall11/pingall
Add a timeout parameter to the pingAll command
Merge pull request #286 from lantz/devel/ovsbatch
Enable batch startup/shutdown of OVS
Not perfect, but it moves us forward at least.
Merge pull request #293 from backb1/patch/pingloss
Ping: packet loss should be a float
Enable batch shutdown for OVS.
Add support for batch shutdown of OVS switches.
This saves about 10 seconds for a 200 switch network.
2.1.0 -> 2.1.0+
code check fixes & add comment spaces
removing todos in net.py
changed CLI to MininetFacade; a great deal of logic also changed
Initial text and version updates for 2.1.0
Made net compliant with dict semantics and added function commentsFixed locals bug (now they are persisent across calls)
Replaced nodelist and nodemap in CLI with mnUpdated Mininet to be more compliant with dictFixes #182
Merge pull request #181 from mininet/devel/ping
pingall now reports fraction received
pingall now reports fraction receivedfixes #168
Prevent Mininet from crashing when display not setfixes #173
improved check for downed link in parsePingFullfixes #176
Added output line to ping that is closer to ping program output
Fixed divide by 0 error in ping command when no packets are sentfixes #143
Clean up intfs in root NS, and avoid deleting HW intfs
It appears that under certain conditions, such as when anamespace exits, both ends of a veth pair may get dumpedinto the root namespace. We therefore now remove an interfaceboth from its home namespace and from the root namespace.
Don't flush ALL routes and enable OPTIONAL default route/gw
fixes #152 hopefully
Add net['h1'] and for node in net supportthanks to Brian O'Connor for reminder + suggestioncloses #114
2.0.0rc1 -> 2.0.0 final
test_hifi: Fix occasional test breakage
Source of error: regex to parse ps output had a single space, ratherthan handling any amount of whitespace before the CPU percentage. Whenthat percentage would drop below 10.0, an space would be printed,confusing the regex....
test: Improve unit tests to verify basic functionality
Also a more complete ping test that parses all output to the CLI.
These tests expand the hifi-specific ones to not just cover whethera topology can be created with options, but whether those options...
Move CPU limit into net, to be reused in future unit tests
small refactor: put function to ensure root in util
Two benefits:- One place to change if in the future, a more granular method of root access is used (like the BigSwitch patch).- Makes this reusable by stuff like examples/baresshd.py that use the low-level Mininet API.
pep8: Fix E127 continuation line over-indented
There are a bunch of these remaining, but I don't think the right course isto 'fix' all of them to make pep8 happy, but instead to either changethe test in pep8 to consider that a continuation line may itself...
pep8: fix E128 continuation line under-indented errors
I wasn't sure this was worth fixing at first, but it does look more readablenow.
pep8: Fix E125 continuation line does not distinguish itself from next logical line
pep8: Fix E711, comparisons to None should use 'is' or 'is not'
Lengthy discussion of why this is a good thing (I didn't know) at SO:
VERSION -> 2.0.0rc1
Allow controller to optionally be a list of constructors/classes
Update version number to 2.0.0d3 (and pass version check)
Change version to 2.0.0d2 - there has to be a better way.
Add VERSION string.
Propagate prefix length to host IP configuration.
configHosts(): don't try to configure nonexistent interfaces.
Add popen() to regular hosts (cpu limited in progress)
Allow lists of nodes to be passed to getNodeByName....which should perhaps be renamed!!!
Add static cpu (and memory) assignment.
Bring up loopback interface when configuring hosts.
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.
Fix NOX breakage
Controllers are no longer namespace-able, and all calls need one fewerarg.
Also use more sensible temporary variable name.