Import scripts from old repository
diff --git a/onsdemo.py b/onsdemo.py
new file mode 100755
index 0000000..c0dda25
--- /dev/null
+++ b/onsdemo.py
@@ -0,0 +1,172 @@
+#!/usr/bin/python
+
+from mininet.topo import Topo
+from mininet.net import Mininet
+from mininet.node import RemoteController
+from mininet.cli import CLI
+from mininet.log import setLogLevel, info
+from mininet.node import OVSBridge
+from routinglib import BgpRouter, RoutedHost
+from onoslib import ONOSHostSdnipCluster
+
+onoses = [ '192.168.56.11', '192.168.56.12' ]
+
+class BgpRouterDeployTopo( Topo ):
+    "Our familiar ONS demo topology"
+    
+    def __init__( self, *args, **kwargs ):
+        Topo.__init__( self, *args, **kwargs )
+        sw1 = self.addSwitch('sw1', dpid='00000000000000a1')
+        sw2 = self.addSwitch('sw2', dpid='00000000000000a2')
+        sw3 = self.addSwitch('sw3', dpid='00000000000000a3')
+        sw4 = self.addSwitch('sw4', dpid='00000000000000a4')
+        sw5 = self.addSwitch('sw5', dpid='00000000000000a5')
+        sw6 = self.addSwitch('sw6', dpid='00000000000000a6')
+        
+        #Note this switch isn't part of the SDN topology
+        as6sw = self.addSwitch('as6sw', dpid='00000000000000a7', cls=OVSBridge)
+
+        #AS2 host
+        host3eth0 = { 'mac':'00:00:00:00:02:01', 'ipAddrs' : [ '192.168.10.1/24' ] }
+        host3eth1 = { 'mac':'00:00:00:00:02:02', 'ipAddrs' : [ '192.168.20.1/24' ] }
+        host3eth2 = { 'ipAddrs' : [ '172.16.20.254/24' ] }
+        host3Intfs = {'host3-eth0' : host3eth0,
+                      'host3-eth1' : host3eth1,
+                      'host3-eth2' : host3eth2 }
+        host3neigh = [{'address':'192.168.10.101', 'as':64513},
+                      {'address':'192.168.20.101', 'as':64513}]
+        host3routes = ['127.16.10.0/24']
+        
+        host3 = self.addHost( 'host3', interfaces=host3Intfs, asNum=65001, 
+                              neighbors=host3neigh, routes=host3routes, 
+                              cls=BgpRouter)
+        
+        as2host = self.addHost( 'as2host', cls=RoutedHost, ip='172.16.20.1/24', 
+                                route='172.16.20.254' )
+
+
+        #AS3 host
+        host4eth0 = { 'mac':'00:00:00:00:03:01', 'ipAddrs' : [ '192.168.30.1/24' ] }
+        host4eth1 = { 'ipAddrs' : [ '172.16.30.254/24' ] }
+        host4Intfs = {'host4-eth0' : host4eth0,
+                      'host4-eth1' : host4eth1 }
+        host4neigh = [{'address':'192.168.30.101', 'as':64513}]
+        host4routes = ['172.16.30.0/24']
+        host4 = self.addHost( 'host4', interfaces=host4Intfs, asNum=65002, 
+                              neighbors=host4neigh, routes=host4routes,
+                              cls=BgpRouter)
+ 
+        as3host = self.addHost( 'as3host', cls=RoutedHost, ip='172.16.30.1/24', 
+                                route='172.16.30.254' )
+
+
+        #AS4 host
+        host5eth0 = { 'mac':'00:00:00:00:04:01', 'ipAddrs' : [ '192.168.40.1/24' ] }
+        host5eth1 = { 'ipAddrs' : [ '172.16.40.254/24' ] }
+        host5Intfs = {'host5-eth0' : host5eth0,
+                      'host5-eth1' : host5eth1 }
+        host5neigh = [{'address':'192.168.40.101', 'as':64513}]
+        host5routes = ['172.16.40.0/24']
+        host5 = self.addHost( 'host5', interfaces=host5Intfs, asNum=65003, 
+                              neighbors=host5neigh, routes=host5routes,
+                              cls=BgpRouter)
+
+        as4host = self.addHost( 'as4host', cls=RoutedHost, ip='172.16.40.1/24', 
+                                route='172.16.40.254' )
+        
+        #AS6 host
+        #as6rs = self.addHost( 'as6rs' )
+        #as6rs2 = self.addHost( 'as6rs2' )
+        #as6router = self.addHost( 'as6router' )
+        #as6host = self.addHost( 'as6host' )
+
+        # Create a control network
+        onosCluster = ONOSHostSdnipCluster(controlSubnet='192.168.50.0/24',
+                                           dataSubnet='1.1.1.0/24', numInstances=2)
+        cs1 = onosCluster.create(self)
+        #cs0 = self.createControlNet((u'192.168.50.0/24'), (u'1.1.1.0/24'), numOnos=2)
+
+        # Set up BGP speakers
+        bgp1eth0 = { 'ipAddrs' : ['1.1.1.11/24'] }
+        bgp1eth1 = { 'mac':'00:00:00:00:00:01', 
+                    'ipAddrs' : ['192.168.10.101/24',
+                                 '192.168.20.101/24',
+                                 '192.168.30.101/24',
+                                 '192.168.40.101/24',] }
+        bgp1Intfs = { 'BGP1-eth0' : bgp1eth0,
+                     'BGP1-eth1' : bgp1eth1 }
+        bgp1neigh = [{'address':'192.168.10.1', 'as':65001},
+                     {'address':'192.168.20.1', 'as':65001},
+                     {'address':'192.168.30.1', 'as':65002},
+                     {'address':'192.168.40.1', 'as':65003},
+                     {'address':'1.1.1.1', 'as':64513},
+                     {'address':'1.1.1.2', 'as':64513},
+                     {'address':'1.1.1.12', 'as':64513}]
+        
+        bgp1 = self.addHost( "BGP1", interfaces=bgp1Intfs, asNum=64513, 
+                             neighbors=bgp1neigh, routes=[], cls=BgpRouter)
+        
+        self.addLink( bgp1, cs1 )
+        self.addLink( bgp1, sw1 )
+        
+        #bgp2eth0 = { 'ipAddrs' : ['1.1.1.12/24'] }
+        #bgp2eth1 = { 'mac':'00:00:00:00:00:02', 
+        #            'ipAddrs' : ['192.168.10.102/24',
+        #                         '192.168.20.102/24',
+        #                         '192.168.30.102/24',
+        #                         '192.168.40.102/24',] }
+        #bgp2Intfs = { 'BGP2-eth0' : bgp2eth0,
+        #             'BGP2-eth1' : bgp2eth1 }
+        
+        #bgp2 = self.addHost( "BGP2", cls=BgpRouter, 
+        #                        quaggaConfFile = '../onsdemo/quagga-sdn2.conf', 
+        #                        zebraConfFile = zebraConf, 
+        #                        interfaces=bgp2Intfs )
+        
+        #self.addLink( bgp2, cs0 )
+        #self.addLink( bgp2, sw4 )
+        
+        #Links to the multihomed AS
+        self.addLink( host3, sw3 )
+        self.addLink( host3, sw5 )
+        self.addLink( as2host, host3 )
+        #Single links to the remaining two ASes
+        self.addLink( host4, sw2 )
+        self.addLink( as3host, host4 )
+        self.addLink( host5, sw6 )
+        self.addLink( as4host, host5 )
+        #AS3-AS4 link
+        #self.addLink( host4, host5)
+        #Add new AS6 to its bridge
+        #self.addLink( as6rs, as6sw )
+        #self.addLink( as6rs2, as6sw )
+        #self.addLink( as6router, as6sw )
+        #self.addLink( as6host, as6router )
+        #for i in range(1, 10):
+        #    host = self.addHost('as6host%d' % i)
+        #    self.addLink(host, as6router)
+
+        self.addLink( sw1, sw2 )
+        self.addLink( sw1, sw3 )
+        self.addLink( sw2, sw4 )
+        self.addLink( sw3, sw4 )
+        self.addLink( sw3, sw5 )
+        self.addLink( sw4, sw6 )
+        self.addLink( sw5, sw6 )
+        self.addLink( as6sw, sw4 )
+
+if __name__ == "__main__":
+    setLogLevel('debug')
+    topo = BgpRouterDeployTopo()
+
+    net = Mininet(topo=topo, controller=None)
+    for i in range(len(onoses)):
+        net.addController( RemoteController( 'c%s' % (i+1), ip=onoses[i], checkListening=False )  )
+
+    net.start()
+
+    CLI(net)
+
+    net.stop()
+
+    info("done\n")