Загрузка данных


from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSKernelSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel
from mininet.link import TCLink

def topology():
  net = Mininet(controller=RemoteController, link=TCLink, switch=OVSKernelSwitch)

  c0 = net.addController('c0', controller=RemoteController, ip='127.0.0.1', port=6653)

  h1 = net.addHost('h1', mac='00:00:00:00:00:01', ip='10.0.0.1')
  h2 = net.addHost('h2', mac='00:00:00:00:00:02', ip='10.0.0.2')
  h3 = net.addHost('h3', mac='00:00:00:00:00:03', ip='10.0.0.3')

  s1 = net.addSwitch('s1')
  s2 = net.addSwitch('s2')
  s3 = net.addSwitch('s3')
  s4 = net.addSwitch('s4')
  s5 = net.addSwitch('s5')
  s6 = net.addSwitch('s6')
  s7 = net.addSwitch('s7')
  s8 = net.addSwitch('s8')
  s9 = net.addSwitch('s9')
  s10 = net.addSwitch('s10')
  s11 = net.addSwitch('s11')
  s12 = net.addSwitch('s12')
  s13 = net.addSwitch('s13')
  s14 = net.addSwitch('s14')

  net.addLink(s1, s2, 1, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s2, s3, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s3, s4, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s4, s5, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s5, s6, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s6, s7, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s7, s8, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s7, s9, 3, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s8, s10, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s10, s11, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s11, s12, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s12, s13, 2, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s11, s13, 3, 2, bw=1, delay='2ms', loss=0)
  net.addLink(s11, s14, 4, 1, bw=1, delay='1ms', loss=0)
  net.addLink(s1, s3, 2, 3, bw=1, delay='100ms', loss=0)
  net.addLink(s4, s6, 3, 3, bw=1, delay='100ms', loss=0)
  net.addLink(s7, s10, 4, 3, bw=1, delay='100ms', loss=0)
  net.addLink(h1, s2, 1, 3, bw=1, delay='1ms', loss=0)
  net.addLink(h2, s5, 1, 3, bw=1, delay='1ms', loss=0)
  net.addLink(h3, s9, 1, 2, bw=1, delay='1ms', loss=0)
  net.addLink(s4, s1, 4, 3, bw=1, delay='5ms', loss=0)
  net.addLink(s5, s2, 4, 4, bw=1, delay='5ms', loss=0)
  net.addLink(s6, s3, 4, 4, bw=1, delay='5ms', loss=0)
  net.addLink(s5, s3, 5, 5, bw=1, delay='1ms', loss=0)
  net.addLink(s8, s5, 3, 6, bw=1, delay='5ms', loss=0)
  net.addLink(s11, s7, 5, 5, bw=1, delay='5ms', loss=0)
  net.addLink(s5, s1, 7, 4, bw=1, delay='5ms', loss=0)
  net.addLink(s6, s2, 5, 5, bw=1, delay='5ms', loss=0)
  net.addLink(s7, s4, 6, 5, bw=1, delay='5ms', loss=0)
  net.addLink(s8, s6, 4, 6, bw=1, delay='5ms', loss=0)
  net.addLink(s9, s8, 3, 5, bw=1, delay='5ms', loss=0)

  c0.start()
  s1.start([c0])
  s2.start([c0])
  s3.start([c0])
  s4.start([c0])
  s5.start([c0])
  s6.start([c0])
  s7.start([c0])
  s8.start([c0])
  s9.start([c0])
  s10.start([c0])
  s11.start([c0])
  s12.start([c0])
  s13.start([c0])
  s14.start([c0])
  net.build()

  
  CLI(net)
  net.stop()

if name == 'main':
  setLogLevel( 'info' )
  topology()