node: kill entire process group in terminate
mnexec already puts the shell into its own process group. Killing the entireprocess group cleans up after any background processes the user left running.
Minor codecheck fixes
2.1.0 -> 2.1.0+
fixing CLI host rewriting when host's default interface does not have an IP
Fix error wiki url.
IVSSwitch: bring up lo interface
setLogLevel('warning') to avoid test spam
fixed git download for testRemoteController in test_walkthrough.py
Merge branch 'master' of github.com:mininet/mininet
adding runner to mininet/test, added test_walkthrough.py
Merge pull request #210 from rlane/ivs-opts
IVSSwitch: support opts constructor parameter
This parameter is already supported by the other switch classes.
removing assert from util.py
Updated mininet/util.py to support better resource setting semantics and protected with try block
One last code check fix: line too long
Pass code check
add spaces to satisfy pylint ;-p
code check fixes & add comment spaces
print usage message for unknown command
Check for `Connected` in checkListening()
codecheck: removed unused variable in topo.py
removing todos in net.py
changed CLI to MininetFacade; a great deal of logic also changed
Add tests for OVS user switch (skipping hifi test for now)
test_hifi.py currently fails for OVS when datapath=user -we should look at this and fix it.
Need a few more skipUnless() checks.
Skip IVS and UserSwitch tests if they are not installed
Delete leftover TAP interface from OVS with datapath=userfixes #199
Initial text and version updates for 2.1.0
updating setup to include examples
Some cleanup and style fixes for fixlimits
Cleaned up sysctl and rlimit test and setUse files instead of sysctl to set limits
add sysctl test and setfixes #184
fixed comment in cli.py
Made net compliant with dict semantics and added function commentsFixed locals bug (now they are persisent across calls)
Replaced nodelist and nodemap in CLI with mnUpdated Mininet to be more compliant with dictFixes #182
Removing test prints from user switch merge
Merge branch 'adf-userswitch-tclink' of github.com:adferguson/mininet into adferguson-adf-userswitch-tclinkOnly sleep and reapply if slicing is enabled
Merging MurphyMc LinearTopo pull request
Merge branch 'ivs' of https://github.com/rlane/mininet into rlane-ivs
Merge pull request #181 from mininet/devel/ping
pingall now reports fraction received
pingall now reports fraction receivedfixes #168
Fix indentation in LinearTopo()
Reimplemented and corrected Graph as MultiGraphfixes #172
Prevent Mininet from crashing when display not setfixes #173
improved check for downed link in parsePingFullfixes #176
Merge pull request #174 from pantuza/master
Dynamic Network with Remote Controller example; Extended LinearTopo
Simplified and refactored examples/dynamicnet.pyExtended LinearTopo to support mulitple hosts per switch
IVSSwitch: support running IVS in a namespace
This change uses the `Node.cmd` method instead of `Popen`. The `cmd` methodsends the input to a shell which may be in another namespace (if --innamespaceis in use), while `Popen` would always run in the root namespace.
clean: send SIGTERM before SIGKILL
IVS needs to be sent SIGTERM so it has a chance to clean up the kerneldatapath.
Fix issue with mountCgroups not recognizing mounted cgroup
Changed mountCgroups to use the file /proc/mounts (instead of thecurrent case where it uses the less reliable(http://firstname.lastname@example.org/msg00455.html)/etc/mtab thorugh the mount program
Added output line to ping that is closer to ping program output
Fixed divide by 0 error in ping command when no packets are sentfixes #143
tests: run all tests with OVS, IVS, and userspace switches
Each switch gets its own class so that the test results are listed separately.
Removing unused import in mininet/link.py
Style changes in mininet/node.py and removing used import in mininet/link.py
CPULimitedHost cleanup() calls superclass methodfixes #161
clean: kill ivs processes
clean: don't wait forever for ovsdb
This could happen if OVS was installed but not running.
Clean up intfs in root NS, and avoid deleting HW intfs
It appears that under certain conditions, such as when anamespace exits, both ends of a veth pair may get dumpedinto the root namespace. We therefore now remove an interfaceboth from its home namespace and from the root namespace.
IVSSwitch: remove namespace warnings
IVS works fine using --innamespace.
IVSSwitch: use ovs-ofctl for dpctl functionality
IVSSwitch: add support for dpctl
dpctl is not included with IVS. The user will need to obtain it from theOpenFlow reference repository.
test_hifi: use SWITCH to pick the switch class
add support for the IVS virtual switch
IVS is an open source virtual switch available for download athttps://github.com/floodlight/ivs. It uses the openvswitchkernel module.
Workaround: add default dpopts='--no-slicing' to UserSwitch
This disables slicing by default but fixes bandwidth limits.Eventually we want to enable both to work together, but for nowthis enables one or the other depending on the dpopts setting.
Workaround: add dpopts to UserSwitch
Currently, slicing on the user switch breaks bandwidth limits.We don't yet have a good way of using both of them at the same time.I'm inclined to turn off slicing by default, but I have to thinkabout it and also see if any one is using it...
Ensure dpid is a valid hex string in OVSSwitch
Fix some pylint messages.
Add Switch.connected() and OVSSwitch.controllerUUIDs()
Minor comment change and text change.
Clean up (and fix) OVSSwitch fast reconnect
Fix setDefaultRoute to work with passed parameters.
topo: make new minimal Graph object a Graph, not a DiGraph
Fixes another Graph regression relative to NetworkX.
RipL broke because the NetworkX Graph object that was used previouslyfor topologies is an undirected graph:
import networkx as nxg=nx.Graph()...
import networkx as nxg=nx.Graph()...
topo: add getitem for Graph
Commit 65c35b65 'Remove networkx dependency' broke this line from RipL:
nodes = [n for n in self.g[name] if self.layer(n) layer]
To work around this, RipL code would have to be changed to somethinglike this:
nodes = [n for n in self.g.data[name] if self.layer(n) layer]...
Merge pull request #150 from MurphyMc/ovs_fast_reconnect
node: Make OVS switches reconnect quickly
Don't flush ALL routes and enable OPTIONAL default route/gw
fixes #152 hopefully
Ordinarily, OVS switches back off when they can't reach their controllers.Under the type of scenarios where Mininet is used, I think this isprobably just inconvenient. This patch set controllers to attempt toreconnect every second.
node: Allow OVSSwitch to run in userspace mode
This adds a datapath parameter to OVSSwitch which allows one to tell OVS torun in userspace mode rather than kernel mode. From the commandline, thisis --switch=ovsk,datapath=user.
Note that this makes "ovsk" and the OVSKernelSwitch alias misnomers. Since...
topo: Add host count param to LinearTopo
Previously, LinearTopo took one parameter (k), which controlled the numberof switches; each of these got one host. This adds a second parameter (j),which controls the number of hosts per switch, defaulting to 1 (as before)....
Change to only split once so that cargs='--foo=1 --bar=2' works.fixes #144
Add 'x' command to open an X11 tunnel (and run a client)fixes #142
Fix method name mismatch for setDefaultRoute.
Edits to pass code check and make style consistent.
Remove networkx dependency
Update host's IP address during name-IP substitutionfixes #139
Add ovs-controller to shutdown list
Change OVSSwitch.dpctl() to call ovs-ofctl
This should fix the problem of dump-flows not showing the OpenFlowflow table flows and only showing cached kernel flow table flows.
allow user switch to be used with TCIntf's
start xterm with TERM=ansi to preserve title from bash.bashrcfixes #128
Adjust numbering to support tc-based switch QoSboth the reference switch and Open vSwitch assume ids with major 1can be used for tc-based QoS
Change popen() to detach from terminal/process group.This may or may not be the right thing to do - an alternativewould be to ignore SIGINT, but that would make the popen()job unkillable by normal means! So we'll try this and seehow well it works.Fixes #124
Add source node option to moveIntf() (note: low-level API!!)In the future we may wish to enable moving interfaces acrossnodes which are not in the root NS, and this would providethe low-level mechanism to do so.closes #122
More code check nits.
Fix code check.
Tag node bash processes and add attach scriptTry invoking bash processes with -s mininet:host,for easy identification of hosts. This enableseasy attachment using the util/m script.closes #121
Change makeTerm() to tunnel X11 using socat if neededFor local display, allow local root accessFor remote display, tunnel with socat/mnexecThis should enable wireshark in hosts and fix #119