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