Fix multi-controller/failover support on User, OVSLegacy switches
Fix typo in RemoteController.__init__ comment.Thanks to Isaku Yamahata.
Fix whitespace and change no controller exception to warning.
Override remote controller check to ensure that remote controller is contactable
Re-enable slicing in UserSwitch since it's fixed with newer kernels.
Workaround for openvswitch_mod rename and pass code check.
Change default controller for mn to ovsc (ovs-controller.)
Also add check to see if another controller is running -eventually we should really detect errors from starting thecontroller!!
Fix popen to allow popen( cmd, arg1, arg2, arg3 )
Fix pexec('echo foo', shell=True)
Set dpid on OVSSwitch.
Fix default dpid which should be 12 digits for reference user switch.
Fix RemoteController which was still using defaultIP rather than ip.
Improve error handling for defaultDpid()
I think it's worth considering how we want to specify dpids forswitches. One way would be to have Mininet (optionally) pick themautomatically. Another way, which I have currently implemented, isto intuit them from the name, for example s1 -> 1. The latter is...
White space edits for code check.
CPULimiteHost.popen(): set cgroup and (optionally) RT priority
Add popen() to regular hosts (cpu limited in progress)
Add default value mems=0 for memory placement.
Allow fail-mode to be set.Probably we should have a generic mechanism to specify OVS options.
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