VERSION -> 2.0.0rc1
Avoid modifying keyword parameter dictionary in customized()
Allow controller to optionally be a list of constructors/classes
Add custom name to customized functions.
Note: we could probably use functools.partial.
Merge pull request - closes #36
Update version number to 2.0.0d3 (and pass version check)
Fix multi-controller/failover support on User, OVSLegacy switches
Fix typo in RemoteController.__init__ comment.Thanks to Isaku Yamahata.
rename Topo() methods for consistency: add_node() -> addNode()
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.
Change version to 2.0.0d2 - there has to be a better way.
Workaround for openvswitch_mod rename and pass code check.
Add VERSION string.
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!!
Propagate prefix length to host IP configuration.
RED bug fix in another place
RED bug fix: change avg. packet size
Move code from mn into mininet/util to enable reuse
Any code in mn is not usable by other Python code.
Hence, move this code into util, so other scripts can use it.
cli: add time command
Fix popen to allow popen( cmd, arg1, arg2, arg3 )
configHosts(): don't try to configure nonexistent interfaces.
Add setLinkInfo() which seems to be missing.
bug fix: link config
Fix pexec('echo foo', shell=True)
Set dpid on OVSSwitch.
Pass code check.
Fix default dpid which should be 12 digits for reference user switch.
Remove accidentally added debugging line.
Fix RemoteController which was still using defaultIP rather than ip.
Fix poller to only check if stdin and node are readable.Thanks to James Zeng for pointing this out!
Fix errRun to not exit until all of stdout and stderr have been read.
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...
Add pmonitor() to make it easy to monitor popen objects.
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.
Allow lists of nodes to be passed to getNodeByName....which should perhaps be renamed!!!
Apparently errRun isn't as flexible as I thought...
Add static cpu (and memory) assignment.
Add mountCgroups() and tweak/correct fixLimits()
Bring up loopback interface when configuring hosts.
Add handle 10: to netem for hifi compat, reconfiguration.
Removed unused param in add_link.
Remove unused burst.
Change back to match mininet-hifi, except for max_queue_len=1000.
Restore deleted deleteIntfs in OVSSwitch.stop()
TCLink: pass correct parameters to superclass.
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.)
Add Mininet object to locals as 'net'
Use 's%s' for bw speedup; change burst to fix tbf and htb performance.
Change to allow addLink() without specifying ports.
Change default period to 100 ms, which seems to help cfs at least...rt is still somewhat broken.
Move dumpNetConnections to util() because it's useful!
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.
Have errFail report cmd and stderr as well as exit code.
Fix printing pid for background tasks.
Save parameters for future reference (e.g. OVS/tc workaround.)
Workaround: reapply tc config after OVS destroys it.
Make CPULimitedHost method sig friendlier, and make 'cfs' default sched.
Add getNodeByName for hifi compatibility.
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.
Fix is_switch() to always succeed + whitespace edits.
Add TCLink for simplified tc-limited link creation.
Attempt at revised/simplified topo class:
- keys are strings- metadata is simply a dict- buildFromTopo greatly simplified
Allow sendCmd( [ cmd, arg1, ... ] )
Clarify comments and finally remove ControllerParams definition.
Use port 0 for control interface on switches.
Minor tweaks: specify port, new repr()
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.
Remove deprecated ControllerParams (for now.)
Add OVSController to complete out-of-box Ubuntu experience.
Allow various subsets of (delay, bw, loss) and clean up status output.
Fix NOX controller so that mn --controller nox,pyswitch,... works.
Add CPULimitedHost to file comment.
Change default to vanilla Intf. Also edit comments.
Reorganize CPULimitedHost and add cgroup cleanup.
Get rid of SWITCH_PORT_BASE since it's 1 for OF >= 1.0.
Support for CFS bandwidth limiting.Also trying to fix NOX cmdline opt, but broken at the moment.
Remove unused imports.
Slightly cleaned up setParam to match node.py.
Remove default classes since Mininet() really handles them.
New configuration scheme and support for CPU limits (RT).
Clarify precedence of default classes.
Add custom() function for customizing constructors.
Tweak errRun; add errFail and numCores.
Tease out intfList() from intfNames().
Intf and Link classes. Latter support bandwidth limits using tc.