Fix documentation of failMode in OVSSwitch
monitor() should return on timeout; docstring changes
It appears that read() has been blocking for some time,so for now it makes sense to change the documentation tomatch the functionality!
It's not entirely clear if monitor() expects this functionality....
Merge pull request #533 from pichuang/node
Check for ovs-testcontroller in OVSController
Workaround for cgdelete deleting cgroup but returning error
Removing unnecessary braces in RemoteController
Updating OpenFlow default port to 6653
- Pass 6653 to controllers that Mininet starts- Try to connect first on 6653 for RemoteController, then fallback to 6633
The programe name changed from test-controller to ovs-testcontroller
Avoid expanding a string into a list of chars
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().
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.
Remove obsolete OVSLegacyKernelSwitch
Add ip:port shorthand to Controller
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...
Fix OVS protocols option
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!!
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
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
Add OVSBatch class (experimental)
This implements batch startup for OVS switches.
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)....
Pass code check
Add stp param to OVS and connected() to OVSBridge
This allows --switch ovsbr,stp=True to work correctly
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...
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
Spacing tweaks for pep8 checker
Restore missing space in RT_GROUP_SCHED message
warn -> debug in connected; change IVS class comment
Maybe this is better - maybe not. ;-p
More pylint changes
Fixing pylint errors
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...
Merge pull request #450 from mininet/sw-cmd
adding deleteIntfs option to switches and corresponding CLI command
Remove unused imports
Fix typo. ;-p
type( foo ) is bar -> isinstance( foo, bar )
use isinstance( obj, basestring) to allow unicode strings
IVSSwitch: turn off verbose logging by default
Most users don't need this much logging and it slows down the switch.
Don't blow away parameters that aren't specified in node.config()
Merge pull request #432 from mininet/devel/fallback
Fall back to OVSBridge if no controller is available for default switch
Raise exception if DefaultController cannot find a controller
Return controller correctly.
Don't check rt_runtime_us for CFS scheduler
Reorganize CFS and RT default/error conditions.
Move RT check into its own method, and save value.
Merge pull request #419 from cdburkard/patches/rt_failure_output
fix silent failures when rt cannot be assigned - will follow up on this
Merge branch 'fallback' of https://github.com/thinred/mininet into thinred-fallback
Conflicts: bin/mn mininet/node.py
Update module comment.
fix silent failures when rt cannot be assigned
unmount private directories after use
merge HostWithPrivateDirs into Host
Wait for controller shutdown.
Unfortunately, this can slow things down a bit - perhaps100-200 ms in the case of ovs-controller, but I am hoping thatit may help slightly with #399.
Merge pull request #391 from cdburkard/patches/fix_popen
workaround: attach to cgroup first, then mount namespace
add Ryu controller to mininet
attach to cgroup first, then mount namespace
Merge pull request #375 from cdburkard/patches/multi_core_rt
fix host --rt
Merge pull request #374 from cdburkard/patches/rt
check if RT_GROUP_SCHED is enabled in kernel
Cluster edition prototype: remote nodes and links.
We add a new experimental feature to allow Mininet to run acrossa cluster of machines. This is currently implemented via a setmix-in classes that provide remote nodes that are implementedvia a connection to a remote shell, and remote links which are...
wall clock time makes rt quota independent of nprocs
Merge pull request #364 from cdburkard/patches/testCPULimit
Fix output of backgrounded processes
clean up logic for backgrounded processes
parse pid printed when backgrounding a process
fixes for LinkDelay test in test_hifi
Merge pull request #342 from cdburkard/devel/startup
improve startup performance, largely by removing unnecessary ifconfigs
Merge pull request #353 from mininet/devel/nat
Adding NAT class to NodeLib
Merge pull request #356 from cdburkard/patches/stop_controller
fix for controller shutdown - send SIGHUP rather than SIGKILL
added controller.stop() back in
kill all child processes to avoid race condition and no controller shutdown
Merge pull request #337 from ggee/ovsProtocol
Add parameter to set protocol list in OVSSwitch.
Fixing Node.monitor() to read entire prompt marker.
Applying @cdburkard fix to #322
moving NAT to nodelib
Merge branch 'master' into nat
adding comments and removing random access spaces
fallback to ovsb when no OF controller is unavailable
Conflicts: mininet/net.py mininet/node.py