| #!/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 AttMplsTopoExt( Topo ): |
| "Internet Topology Zoo Specimen." |
| |
| def __init__( self ): |
| "Create a topology." |
| |
| # Initialize Topology |
| Topo.__init__( self ) |
| |
| # add nodes, switches first... |
| MINE = self.addSwitch( 's31', dpid='0000001000000001') # 44.977862, -93.265427 |
| BISM = self.addSwitch( 's32', dpid='0000001000000002') # 46.817887, -100.786109 |
| BOIS = self.addSwitch( 's33', dpid='0000001000000003') # 43.617834, -116.216903 |
| RENO = self.addSwitch( 's34', dpid='0000001000000004') # 39.533310, -119.796940 |
| ALBU = self.addSwitch( 's35', dpid='0000001000000005') # 35.109657, -106.626698 |
| |
| # ... and now hosts |
| MINE_host = self.addHost( 'h31', mac='00:10:00:00:00:01' ) |
| BISM_host = self.addHost( 'h32', mac='00:10:00:00:00:02' ) |
| BOIS_host = self.addHost( 'h33', mac='00:10:00:00:00:03' ) |
| RENO_host = self.addHost( 'h34', mac='00:10:00:00:00:04' ) |
| ALBU_host = self.addHost( 'h35', mac='00:10:00:00:00:05' ) |
| |
| # add edges between switch and corresponding host |
| self.addLink( MINE , MINE_host ) |
| self.addLink( BISM , BISM_host ) |
| self.addLink( BOIS , BOIS_host ) |
| self.addLink( RENO , RENO_host ) |
| self.addLink( ALBU , ALBU_host ) |
| |
| # add edges between switches |
| self.addLink( MINE , BISM, bw=10, delay='0.979030824185ms') |
| self.addLink( BISM , BOIS, bw=10, delay='0.806374975652ms') |
| self.addLink( BOIS , RENO, bw=10, delay='0.686192970166ms') |
| self.addLink( BOIS , ALBU, bw=10, delay='0.605826192092ms') |
| self.addLink( RENO , ALBU, bw=10, delay='1.4018238197ms') |
| self.addLink( RENO , MINE, bw=10, delay='0.232315346482ms') |
| self.addLink( BISM , ALBU, bw=10, delay='1.07297714274ms') |
| |
| topos = { 'att': ( lambda: AttMplsTopoExt() ) } |