mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-14 17:01:02 +02:00
60 lines
1.6 KiB
Python
60 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
|
|
"""
|
|
"""
|
|
from mininet.topo import Topo
|
|
from mininet.net import Mininet
|
|
from mininet.node import RemoteController
|
|
from mininet.node import Node
|
|
from mininet.node import CPULimitedHost
|
|
from mininet.link import TCLink
|
|
from mininet.cli import CLI
|
|
from mininet.log import setLogLevel
|
|
from mininet.util import dumpNodeConnections
|
|
|
|
class ReactiveForwardingTestTopo( Topo ):
|
|
"Internet Topology Zoo Specimen."
|
|
|
|
def __init__( self ):
|
|
"Create a topology."
|
|
|
|
# Initialize Topology
|
|
Topo.__init__( self )
|
|
|
|
# add nodes, switches first...
|
|
s1 = self.addSwitch( 's1' )
|
|
s2 = self.addSwitch( 's2' )
|
|
s3 = self.addSwitch( 's3' )
|
|
s4 = self.addSwitch( 's4' )
|
|
s5 = self.addSwitch( 's5' )
|
|
s6 = self.addSwitch( 's6' )
|
|
s7 = self.addSwitch( 's7' )
|
|
s8 = self.addSwitch( 's8' )
|
|
s9 = self.addSwitch( 's9' )
|
|
|
|
# ... and now hosts
|
|
h1 = self.addHost( 'h1' )
|
|
h2 = self.addHost( 'h2' )
|
|
h3 = self.addHost( 'h3' )
|
|
h4 = self.addHost( 'h4' )
|
|
|
|
# add edges between switch and corresponding host
|
|
self.addLink( s1 , h1 )
|
|
self.addLink( s2 , h2 )
|
|
self.addLink( s3 , h3 )
|
|
self.addLink( s4 , h4 )
|
|
|
|
# add edges between switches
|
|
self.addLink( s1 , s5 )
|
|
self.addLink( s2 , s5 )
|
|
self.addLink( s2 , s8 )
|
|
self.addLink( s3 , s4 )
|
|
self.addLink( s3 , s7 )
|
|
self.addLink( s4 , s5 )
|
|
self.addLink( s6 , s8 )
|
|
self.addLink( s6 , s7 )
|
|
self.addLink( s5 , s9 )
|
|
self.addLink( s6 , s9 )
|
|
|
|
topos = { 'att': ( lambda: ReactiveForwardingTestTopo() ) }
|