Restored treeping64 and tre1024 examples and updated README.
This commit is contained in:
+11
-1
@@ -29,8 +29,18 @@ to an interface in the root namespace (generaly the control network
|
|||||||
already lives in the root namespace, so it does not need to be explicitly
|
already lives in the root namespace, so it does not need to be explicitly
|
||||||
connected.)
|
connected.)
|
||||||
|
|
||||||
|
treeping64:
|
||||||
|
|
||||||
|
This example creates a 64-host tree network, and attempts to check full
|
||||||
|
connectivity using ping, for three different switch/datapath types.
|
||||||
|
|
||||||
|
tree1024.py:
|
||||||
|
|
||||||
|
This example attempts to create a 1024-host network, and then runs the
|
||||||
|
CLI on it. It may run into scalability limits, depending on available
|
||||||
|
memory and sysctl configuration (see INSTALL.)
|
||||||
|
|
||||||
udpbwtest.py:
|
udpbwtest.py:
|
||||||
|
|
||||||
This example shows how to run a test across an entire network, and monitor
|
This example shows how to run a test across an entire network, and monitor
|
||||||
the output of a set of hosts in real time.
|
the output of a set of hosts in real time.
|
||||||
|
|
||||||
|
|||||||
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
"""
|
||||||
|
Create a 1024-host network, and run the CLI on it.
|
||||||
|
If this fails because of kernel limits, you may have
|
||||||
|
to adjust them, e.g. by adding entries to /etc/sysctl.conf
|
||||||
|
and running sysctl -p. Check util/sysctl_addon.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from mininet.cli import CLI
|
||||||
|
from mininet.log import setLogLevel
|
||||||
|
from mininet.net import init, Mininet
|
||||||
|
from mininet.node import KernelSwitch
|
||||||
|
from mininet.topolib import TreeTopo
|
||||||
|
|
||||||
|
def TreeNet( depth=1, fanout=2, **kwargs ):
|
||||||
|
"Convenience function for creating tree networks."
|
||||||
|
topo = TreeTopo( depth, fanout )
|
||||||
|
return Mininet( topo, **kwargs )
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
setLogLevel( 'info' )
|
||||||
|
init()
|
||||||
|
KernelSwitch.setup()
|
||||||
|
network = TreeNet( depth=2, fanout=32, switch=KernelSwitch )
|
||||||
|
network.run( CLI, network )
|
||||||
Executable
+38
@@ -0,0 +1,38 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
"Create a 64-node tree network, and test connectivity using ping."
|
||||||
|
|
||||||
|
from mininet.cli import CLI
|
||||||
|
from mininet.log import setLogLevel
|
||||||
|
from mininet.net import init, Mininet
|
||||||
|
from mininet.node import KernelSwitch, UserSwitch, OVSKernelSwitch
|
||||||
|
from mininet.topolib import TreeTopo
|
||||||
|
|
||||||
|
def TreeNet( depth=1, fanout=2, **kwargs ):
|
||||||
|
"Convenience function for creating tree networks."
|
||||||
|
topo = TreeTopo( depth, fanout )
|
||||||
|
return Mininet( topo, **kwargs )
|
||||||
|
|
||||||
|
def treePing64():
|
||||||
|
results = {}
|
||||||
|
switches = { 'reference kernel': KernelSwitch,
|
||||||
|
'reference user': UserSwitch,
|
||||||
|
'Open vSwitch kernel': OVSKernelSwitch }
|
||||||
|
|
||||||
|
for name in switches.keys():
|
||||||
|
print "*** Testing", name, "datapath"
|
||||||
|
switch = switches[ name ]
|
||||||
|
network = TreeNet( depth=2, fanout=8, switch=switch )
|
||||||
|
result = network.run( network.pingAll )
|
||||||
|
results[ name ] = result
|
||||||
|
|
||||||
|
print
|
||||||
|
print "*** Tree network ping results:"
|
||||||
|
for name in switches.keys():
|
||||||
|
print "%s: %d%% packet loss" % ( name, results[ name ] )
|
||||||
|
print
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
setLogLevel( 'info' )
|
||||||
|
init()
|
||||||
|
treePing64()
|
||||||
Reference in New Issue
Block a user