aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/topos/optical2.py
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/test/topos/optical2.py')
-rw-r--r--framework/src/onos/tools/test/topos/optical2.py84
1 files changed, 84 insertions, 0 deletions
diff --git a/framework/src/onos/tools/test/topos/optical2.py b/framework/src/onos/tools/test/topos/optical2.py
new file mode 100644
index 00000000..36cdbadd
--- /dev/null
+++ b/framework/src/onos/tools/test/topos/optical2.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+
+''' file: custom/optical.py '''
+
+from mininet.topo import Topo
+from mininet.net import Mininet
+from mininet.cli import CLI
+from mininet.log import setLogLevel, info
+from mininet.link import Intf, Link
+from mininet.node import RemoteController
+
+class NullIntf( Intf ):
+ "A dummy interface with a blank name that doesn't do any configuration"
+ def __init__( self, name, **params ):
+ self.name = ''
+
+class NullLink( Link ):
+ "A dummy link that doesn't touch either interface"
+ def makeIntfPair( cls, intf1, intf2, *args, **kwargs ):
+ pass
+ def delete( self ):
+ pass
+
+class OpticalTopo(Topo):
+ def addIntf( self, switch, intfName ):
+ "Add intf intfName to switch"
+ self.addLink( switch, switch, cls=NullLink,
+ intfName1=intfName, cls2=NullIntf )
+ def __init__(self):
+
+ # Initialize topology
+ Topo.__init__(self)
+
+ # Add hosts and switches
+ h1 = self.addHost('h1')
+ h2 = self.addHost('h2')
+ h3 = self.addHost('h3')
+ h4 = self.addHost('h4')
+ h5 = self.addHost('h5')
+ h6 = self.addHost('h6')
+
+ s1 = self.addSwitch('s1', dpid="0000ffffffff0001")
+ s2 = self.addSwitch('s2', dpid="0000ffffffff0002")
+ s3 = self.addSwitch('s3', dpid="0000ffffffff0003")
+ s4 = self.addSwitch('s4', dpid="0000ffffffff0004")
+ s5 = self.addSwitch('s5', dpid="0000ffffffff0005")
+ s6 = self.addSwitch('s6', dpid="0000ffffffff0006")
+
+
+ # Add links from hosts to OVS
+ self.addLink(s1, h1)
+ self.addLink(s2, h2)
+ self.addLink(s3, h3)
+ self.addLink(s4, h4)
+ self.addLink(s5, h5)
+ self.addLink(s6, h6)
+
+ # add links from ovs to linc-oe
+ # sorry about the syntax :(
+ self.addIntf(s1,'tap29')
+ self.addIntf(s2,'tap30')
+ self.addIntf(s3,'tap31')
+ self.addIntf(s4,'tap32')
+ self.addIntf(s5,'tap33')
+ self.addIntf(s6,'tap34')
+
+ # if you use, sudo mn --custom custom/optical.py, then register the topo:
+topos = {'optical': ( lambda: OpticalTopo() )}
+
+
+def run():
+ c = RemoteController('c','127.0.0.1',6633)
+ net = Mininet( topo=OpticalTopo(),controller=None,autoSetMacs=True)
+ net.addController(c)
+ net.start()
+
+ #installStaticFlows( net )
+ CLI( net )
+ net.stop()
+
+# if the script is run directly (sudo custom/optical.py):
+if __name__ == '__main__':
+ setLogLevel('info')
+ run()