blob: 14aa9e753347872f99c5608404c7ede3d08aa70a [file] [log] [blame]
#!/usr/bin/env python
"""
[1] ----- [3] ----- [5]
| ____/ | \ |
| / | \____ |
| / | \ |
[2] ----- [4] ----- [6]
"""
from mininet.topo import Topo
class RegionABC( Topo ):
"""Simple 6 switch example"""
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' )
# ... and now hosts
S1_host = self.addHost( 'h1' )
S2_host = self.addHost( 'h2' )
S3_host = self.addHost( 'h3' )
S4_host = self.addHost( 'h4' )
S5_host = self.addHost( 'h5' )
S6_host = self.addHost( 'h6' )
# add edges between switch and corresponding host
self.addLink( S1, S1_host )
self.addLink( S2, S2_host )
self.addLink( S3, S3_host )
self.addLink( S4, S4_host )
self.addLink( S5, S5_host )
self.addLink( S6, S6_host )
# add edges between switches as diagrammed above
self.addLink( S1, S2, bw=10, delay='1.0ms')
self.addLink( S1, S3, bw=10, delay='1.0ms')
self.addLink( S2, S3, bw=10, delay='1.0ms')
self.addLink( S2, S4, bw=10, delay='1.0ms')
self.addLink( S3, S4, bw=10, delay='1.0ms')
self.addLink( S3, S5, bw=10, delay='1.0ms')
self.addLink( S3, S6, bw=10, delay='1.0ms')
self.addLink( S4, S6, bw=10, delay='1.0ms')
self.addLink( S5, S6, bw=10, delay='1.0ms')
topos = { 'regionabc': ( lambda: RegionABC() ) }
if __name__ == '__main__':
from onosnet import run
run( RegionABC() )