2.2.1rc1 -> 2.2.1
Simply use class names as option help
The justification for this is that 1) the options arealready documented in the API documentation and 2) theclass names are fairly self-explanatory, so adding shortdescriptions doesn't add much.
In the future, however, we could add a short description...
Implement Switch.stop(), which doesn't call terminate
When I changed the switch implementations to call super().stop(),I neglected to include a Switch.stop() method which didn't callterminate(). This broke switch s1 stop and s1.stop().
Support multiple --controller arguments
Allow node.setIP() to pass extra arguments to intf.setIP()
Remove redundant processing for '/'
Rename node.RYU to node.Ryu
Perhaps it should be RyuController, but just Ryu for now.RYU made no sense because it's not an acronym.
2.2.1d1 -> 2.2.1d2
Minor formatting, pass code check
Fix exception for unknown class
Pass code check
Remove obsolete OVSLegacyKernelSwitch
Fix undefined constructors in customClass()
CustomConstructor -> CustomClass, which calls specialClass
specialClass is an analog of functools.partial but for classes.We can now use it instead of partial() in mn, so that Mininetcan introspect on the actual base class.
Merge pull request #473 from joerango/master
Support for running arbitrary command when starting terminal
Move cmdloop() wrapper into a new run() method
I also added another try/catch block so that interruptingthe 'Interrupt' message should no longer occur.
cli: don't read/write readline history more than once
Previously, when creating multiple CLI objects, each one would append the~/.mininet_history file to readline's internal list. When writing the file backit would be duplicated for each CLI object created. So, over a few mininet runs...
Support for running arbitrary command when starting terminal (other than bash)
Add ip:port shorthand to Controller
Fix customConstructor to work correctly with newargs
A controller should delete its interfaces if necessary
This was causing controlnet.py to not clean up its interfaces, sincethose interfaces were linked from the controller to the switchrather than vice-versa!!
deleteIntfs already will only delete interfaces whose names match...
2.2.0+ -> 2.2.1d1
pass code check
Batch link delete commands (and minor edits)
Fix OVS protocols option
Clarify makeIntfPair behavior and pass code check
Remove now-unused quietRun import
Indent one line for consistency
Delete tap9 for CE
In the future, we should probably not hardwire this,or should at least make it a constant!!
node shell: remove unnecessary -m and unset HISTFILE
Since we already disable job notification with +m, it doesn'tmake sense to set it in the original invocation!
It's also annoying if all of the host commands end up overwritingyour regular bash_history!!
Change iperf() to use waitListening()
Turn off printPid by default to avoid mnexec fork/exec
Set batch=False in OVSSwitch for low-level API
If you try to use the low-level API, you are probablynot going to call batchStartup()! So, we set batch=Falseby default. This means that buildFromTopo() needs to setit to True, so we add a bit of irritatingly complex machinery...
Fix OVS user switch (remove unnecessary % parameter)
cluster: add batchStartup/Shutdown, cleanup
Remove debug print lines
Clarify which intf pair failed and raise exception
Merge OVSBatch into OVSSwitch
Note that we are changing the interface of batchStartup/Shutdownslightly so that the method can choose not to start some of theswitches. We might wish to refine this a bit...
Don't clean up links that may have been dumped into root NS.
This should rarely happen - in the usual case, either thelinks will be shut down by Mininet.stop(), or the interfaceswill be deleted by node.stop( deleteIntfs=True ), or thelinks or interfaces will be explicitly deleted or stopped...
make 'ovs-vsctl' string symmetric
Fix super() typo
Clean up - TCReapply still broken!
Remove shared reconnectms, improve self.started
We still need to set it in batchShutdown()
Refactor for compatibility with isOldOVS() == True
First crack at setting controller backoff in single command
errRun: add debug( results )
Add debug(cmd) to errRun()
Add OVSBatch class (experimental)
This implements batch startup for OVS switches.
Clarify bandwidth limit for TCIntfs
In the future, we would like to support higher bandwidthlimits for TCIntfs, but we'll probably need to adjust someof the parameters dynamically.
Exit poll loop on POLLHUP or anything unexpected
In my opinion, we really shouldn't even get POLLHUP, butwe do. In case we get anything else odd, quite polling onthat fd.
Fix polling in errRun
It's tricky to get this right, but basically we want to readif there is something to read; if not, we want to check forEOF.
Return correct success condition in cgroupDel
Without this, we end up retrying until we fail, insteadof returning immediately on success!
Call delete() in link.stop() ; warn on exited node.cmd()
We should think a bit about the semantics that we want here.The comments say "stop and clean up link" so perhaps that'swhat we want. However, we could also imagine stop stoppingforwarding on the link (and possibly allowing restarts)....
2.2.0 -> 2.2.0+
Add stp param to OVS and connected() to OVSBridge
This allows --switch ovsbr,stp=True to work correctly
OVSLink: use isinstance() to detect OVSSwitch subclasses
Merge del-br into cmd, and add reconnectms param
With newer versions of OVS, this allows us to set up a switchwith a single OVS command (if reconnectms is zero.) If reconnectmsis specified, then it slows things down slightly (but not much.)
Stub out RemoteOVSSwitch.batchShutdown()
Eventually we should implement true batch shutdown.In the mean time, we just ignore it. Note there's no goodway that I know of for a subclass to remove a superclassmethod, so we changed the protocol a bit to require a return...
Fix indentation error
Don't stop switches that we've already stopped.
Note that this also changes the way that links are deleted;the reason is that the batch shutdown doesn't currently deletethe links, but OVSSwitch.stop() does. We may wish to revisitthis in the future.
Add comment about redundant intf.delete()
customize makeIntfPair to eliminate fastIntfPair
Add addresses to fastIntfPair() and fix codecheck
Update comment to reflect OVS patch link limits
add fastIntfPair to speed up link creation
use isinstance( intf, OVSIntf )
Add OVSLink/--link ovs, which uses OVS patch links when possible
Revert to using OVS default OpenFlow versions.
It makes sense to follow Open vSwitch's lead here.OVS 2.3 enables OpenFlow 1.0 through 1.3 by default.OVS 2.0 has incomplete support for 1.3, but you can enableit with protocols=OpenFlow13
Set OVSSwitch default protocols to OpenFlow10,OpenFlow13
For OVS versions 1.9 or earlier, this setting is ignored.
Fix code minor code check errors
Correctly set controller backoff for OVS.
Also report connected in standalone/bridge mode
2.2.0rc1 -> 2.2.0
2.2.0rc1 -> 2.2.0rc2
Basically no changes except for whitespace and satisfying pep8.
Spacing tweaks for pep8 checker
version -> 2.2.0rc1 and update copyright date
Restore missing space in RT_GROUP_SCHED message
call to run() should be to runCmd()
warn -> debug in connected; change IVS class comment
Change from numeric to symbolic pylint error codes
Maybe this is better - maybe not. ;-p
More pylint changes
Fix missing imports
Fixing pylint errors
Fix pylint error
Add cleanup and fix pylint errors
Fix pylint errors
Reorganize and pass pylint
Remove trailing whitespace. ;-/
Set default route in one cmd line to avoid dc'ing root NS
Usually you won't want to create a node in the root namespace,and usually you won't want to use the Mininet API to set your(real) default route, but if you do then you will probably wantto use a single command line to avoid disconnecting an SSH...
Updating NAT class to use gateway interface
Also, passing CLI args to NAT constructor
Merge pull request #450 from mininet/sw-cmd
adding deleteIntfs option to switches and corresponding CLI command
Minor code cleanup
Make pylint happier for no particular reason