Skip to content
Snippets Groups Projects
Commit 83086439 authored by Brandon Heller's avatar Brandon Heller
Browse files

Remove/merge obsolete examples

parent 8f20b95d
No related branches found
No related tags found
No related merge requests found
...@@ -63,10 +63,6 @@ Preliminary Mininet Installation/Configuration Notes ...@@ -63,10 +63,6 @@ Preliminary Mininet Installation/Configuration Notes
to /etc/sysctl.conf (modified as necessary for your desired to /etc/sysctl.conf (modified as necessary for your desired
configuration): configuration):
# OpenFlow: get rid of ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# Mininet: Increase open file limit # Mininet: Increase open file limit
fs.file-max = 100000 fs.file-max = 100000
...@@ -85,6 +81,10 @@ Preliminary Mininet Installation/Configuration Notes ...@@ -85,6 +81,10 @@ Preliminary Mininet Installation/Configuration Notes
# Mininet: increase routing table size # Mininet: increase routing table size
net.ipv4.route.max_size=32768 net.ipv4.route.max_size=32768
To save the config change, run:
sysctl -p
--- ---
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
from mininet.logging_mod import lg, set_loglevel, LEVELS from mininet.logging_mod import lg, set_loglevel, LEVELS
from mininet.net import Mininet, init from mininet.net import Mininet, init
from mininet.node import Switch, Host, Controller, ControllerParams from mininet.node import Switch, Host, Controller, ControllerParams
from mininet.node import NOXController
from mininet.topo import TreeTopo from mininet.topo import TreeTopo
# built in topologies, created only when run # built in topologies, created only when run
...@@ -19,6 +20,7 @@ ...@@ -19,6 +20,7 @@
TOPOS = {'minimal' : (lambda: TreeTopo(depth = 2, fanout = 2)), TOPOS = {'minimal' : (lambda: TreeTopo(depth = 2, fanout = 2)),
'tree16' : (lambda: TreeTopo(depth = 3, fanout = 4)), 'tree16' : (lambda: TreeTopo(depth = 3, fanout = 4)),
'tree64' : (lambda: TreeTopo(depth = 4, fanout = 4)), 'tree64' : (lambda: TreeTopo(depth = 4, fanout = 4)),
'tree1024' : (lambda: TreeTopo(depth = 3, fanout = 32)),
'fattree4' : (lambda: FatTreeTopo(k = 4)), 'fattree4' : (lambda: FatTreeTopo(k = 4)),
'fattree6' : (lambda: FatTreeTopo(k = 6))} 'fattree6' : (lambda: FatTreeTopo(k = 6))}
...@@ -29,11 +31,11 @@ ...@@ -29,11 +31,11 @@
HOSTS = {'process' : Host} HOSTS = {'process' : Host}
CONTROLLER_DEF = 'ref' CONTROLLER_DEF = 'ref'
CONTROLLERS = {'ref' : Controller} CONTROLLERS = {'ref' : Controller,
'nox' : NOXController}
# optional tests to run # optional tests to run
TESTS = ['cli', 'build', 'ping_all', 'ping_pair'] TESTS = ['cli', 'build', 'ping_all', 'ping_pair', 'iperf', 'all']
def add_dict_option(opts, choices_dict, default, name, help_str = None): def add_dict_option(opts, choices_dict, default, name, help_str = None):
'''Convenience function to add choices dicts to OptionParser. '''Convenience function to add choices dicts to OptionParser.
...@@ -97,6 +99,11 @@ def setup(self): ...@@ -97,6 +99,11 @@ def setup(self):
# validate environment setup # validate environment setup
init() init()
# check for invalid combinations
if 'fattree' in self.options.topo and self.options.controller == 'ref':
raise Exception('multipath topos require multipath-capable '
'controller.')
def begin(self): def begin(self):
'''Create and run mininet.''' '''Create and run mininet.'''
...@@ -125,6 +132,10 @@ def begin(self): ...@@ -125,6 +132,10 @@ def begin(self):
hosts = [hosts_unsorted[0], hosts_unsorted[1]] hosts = [hosts_unsorted[0], hosts_unsorted[1]]
dropped = mn.ping_test(hosts = hosts, verbose = True) dropped = mn.ping_test(hosts = hosts, verbose = True)
lg.info("*** Test results: %i%% dropped\n", dropped) lg.info("*** Test results: %i%% dropped\n", dropped)
elif test == 'all':
mn.start()
mn.ping()
mn.iperf()
mn.stop() mn.stop()
else: else:
raise NotImplementedError('unknown test: %s' % raise NotImplementedError('unknown test: %s' %
...@@ -135,4 +146,4 @@ def begin(self): ...@@ -135,4 +146,4 @@ def begin(self):
if __name__ == "__main__": if __name__ == "__main__":
MininetRunner() MininetRunner()
\ No newline at end of file
#!/usr/bin/python
"Create a tree network and run the CLI on it."
from mininet.mininet import init, TreeNet, Cli
if __name__ == '__main__':
init()
network = TreeNet( depth=2, fanout=4, kernel=True )
network.run( Cli )
#!/usr/bin/python
"Instantiate a Grid network and use NOX as the controller."
from mininet.mininet import init, Controller, GridNet, Cli
class NoxController( Controller ):
def __init__( self, name, **kwargs ):
Controller.__init__( self, name,
controller='nox_core',
cargs='-v --libdir=/usr/local/lib -i ptcp: routing',
cdir='/usr/local/bin', **kwargs)
if __name__ == '__main__':
init()
network = GridNet( 2, 2, kernel=True, Controller=NoxController )
network.run( Cli )
#!/usr/bin/python
"Run multiple tests on a network."
from mininet.mininet import init, TreeNet, pingTestVerbose, iperfTest, Cli
if __name__ == '__main__':
init()
network = TreeNet( depth=2, fanout=2, kernel=True )
network.start()
network.runTest( pingTestVerbose )
network.runTest( iperfTest)
network.runTest( Cli )
network.stop()
#!/usr/bin/python
"Instantiate a Tree network and use NOX as the controller."
from mininet.mininet import init, Controller, TreeNet, Cli
class NoxController( Controller ):
def __init__( self, name, **kwargs ):
Controller.__init__( self, name,
controller='nox_core',
cargs='--libdir=/usr/local/lib -i ptcp: pyswitch',
cdir='/usr/local/bin', **kwargs)
if __name__ == '__main__':
init()
network = TreeNet( depth=2, fanout=4, kernel=True, Controller=NoxController )
network.run( Cli )
#!/usr/bin/python
'''Run a FatTree network from the Ripcord project.'''
from ripcord.topo import FatTreeTopo
from mininet.logging_mod import set_loglevel
from mininet.net import init, Mininet
from mininet.node import Switch, Host, NOXController, ControllerParams
if __name__ == '__main__':
set_loglevel('info')
init()
controller_params = ControllerParams(0x0a000000, 8) # 10.0.0.0/8
mn = Mininet(FatTreeTopo(4), Switch, Host, NOXController,
controller_params)
mn.interact()
\ No newline at end of file
#!/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.
"""
from mininet.mininet import init, TreeNet, Cli
if __name__ == '__main__':
init()
network = TreeNet( depth=2, fanout=32, kernel=True )
network.run( Cli )
#!/usr/bin/python
"Create a 64-node tree network, and test connectivity using ping."
from mininet.mininet import init, TreeNet, pingTestVerbose
def treePing64():
results = {}
datapaths = [ 'user', 'kernel' ]
print "*** Testing Mininet with user and kernel datapaths"
for datapath in datapaths:
k = datapath == 'kernel'
network = TreeNet( depth=2, fanout=8, kernel=k )
result = network.run( pingTestVerbose )
results[ datapath ] = result
print
print "*** TreeNet ping results:"
for datapath in datapaths:
print "%s:" % datapath, results[ datapath ]
print
if __name__ == '__main__':
init()
treePing64()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment