#!/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() )