Add static cpu (and memory) assignment.
Restore deleted deleteIntfs in OVSSwitch.stop()
Pass code check.
Change default period to 100 ms, which seems to help cfs at least...rt is still somewhat broken.
Fix OVS legacy switch.
Retry deleting cgroup for the moment because it seems flaky.
Ultimately we may wish to create a mininet/ cgroup and do a recursivedelete at the end.
Fix printing pid for background tasks.
Workaround: reapply tc config after OVS destroys it.
Make CPULimitedHost method sig friendlier, and make 'cfs' default sched.
Fix convenience configuration methods.
Add warning in defaultIntf() if host has no interfaces.
Possibly this should be in intf() instead, as intf() is assumedto always succeed.
Allow sendCmd( [ cmd, arg1, ... ] )
Clarify comments and finally remove ControllerParams definition.
Use port 0 for control interface on switches.
Fix CLI commands.
Fix codecheck and MininetWithControlNet.
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.
Add OVSController to complete out-of-box Ubuntu experience.
Fix NOX controller so that mn --controller nox,pyswitch,... works.
Add CPULimitedHost to file comment.
Reorganize CPULimitedHost and add cgroup cleanup.
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).
Tease out intfList() from intfNames().
Intf and Link classes. Latter support bandwidth limits using tc.
Update OVS switch to use ovs-vsctl rather than deprecated ovs-openflowd.
Revert inadvertent print in node.py
Switch to Open vSwitch 1.1.1 for stability.
Fixed nox_pysw not to fail on startup, but --port still doesn't work.
Not sure why, but there's an extra blank line ;-/
Merge branch 'of1.0' into testing
bin/mn mininet/cli.py mininet/moduledeps.py mininet/node.py mininet/topo.py util/install.sh
Rename Controller.controller to .command
Fixed args for nox.
Added port to controller args; changed NOX to new arg format.
Don't try to modprobe tun if it's built-in (e.g. Ubuntu.)
Better error messages when switch setup() fails.
Oops, get rid of debug print.
Switches use high default intf; disable slicing for user switch. ;-(
This should fix --switch user --innamespace.
Add passive listening port
Delete spaces around =.
Added additional sanity checks for when OF/OVS isn't installed.
Change to automatically update IP and MAC addresses.
mininet.node.SWITCH_PORT_BASE specifies first switch port number.
This should be mostly cosmetic, but it causes switches to numbertheir ports consistently with OpenFlow 1.0, which starts at 1.For older versions of OpenFlow, SWITCH_PORT_BASE may be set to zero.
Remove print statement left in
Change port base from 0 to 1
OpenFlow versions > v0.9 require this.
Only tested w/FatTree topo - it's almost a guarantee that this breaksevery other topology.
Small OVS API change
Fix --mac breakage
The OVS interface for this moved to ovs-openflowd.
This functionality was never there for the user-space switch. Now it'sin.
Darned trailing whitespace.
Consistently use tcp:%s:%d for controller IP address format.
(In user, kernel and ovsk switch classes.)
Removed debugging printing.
Note now that we can pass options into switches; for example,we could enable stp with Switch( 's1', opts='--stp' ).
Changed to support new cmd() interface.
It seems that it is more convenient to be able to call
cmd( 'foo', 'bar', 1)
for example. However, this may make it slightly lessefficient, so we will see how it works.
Added timeout option for monitor().
This allows monitor() to be used for polling. Of course, youprobably want to use poll() first anyway, but it's nice notto have to block if there's no output.
Fixed catch: typo.
Changed to not die immediately if we send in an empty command.
There might still be some issues with this however...
Cleaning up read/monitor/interrupt.
Now you don't need to specify a default read count.
Now, by default, we print the pid out in sendCmd() which allows usto snarf it later and set lastPid correctly.
Now, we wrap os.kill() in a try block, so that if the process is...
Remove unneeded '-' in '-n', which was causing error message.
Change to use printf rather than echo.
Changes to pass code check.
We should check NOXController and RemoteController to make sure thatthey are not broken, but I cannot do this at the moment.
Added two spaces before in-line # comments.
Minor formatting changes.
Changed mininet.link() to support multiple links.
It should also probably be renamed to something like:configLinks(src, dst, status).
Revert "Add ability to pause and resume any node"
This reverts commit 07aad110819778fdf65a43a6d11e9ca46c9881db.
When the semantics are clear, functionality like this will get added back toMininet.
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...
Change Node.monitor() to just return output.
It seems easier to rely on node.waiting for the moment.
Change ofprotocold -> ovs-openflowd in OVSKernelSwitch.
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.
Add ability to pause and resume any node
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!...
Show PIDs in dump()
Corrected list checkin sendCmd.
Fix sending commands to switches
Detach shells from tty; monitoring changes.
Call netns using setsid to detach from the tty; this isintended to fix the problem of control-C killing your network.
sendInt() doesn't actually work - hopefully we can fix this in thefuture, but it's tricky since we want to detach the many shells from...
Fix OVS breakage
Fixed docstrings for switch arg: name.
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.
Restored accidentally deleted kill %ofpd lines. Added Node.MAC
Fix remote controller param
Changed setIP to accept numeric prefix len. Added Node.deleteIntfs().
Restored scratchnet and scratchnetuser demos.
Also changed the str format for nodes to use str() ratherthan repr() so we don't end up with extraneous quotes.
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 trailing spaces.
Merge branch 'customtopos' into bl-dev
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!