Advertisement
Guest User

asd.qwe

a guest
Mar 22nd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1. from mininet.topo import Topo
  2. from mininet.net import Mininet
  3. from mininet.log import setLogLevel
  4. from mininet.node import RemoteController
  5. from mininet.cli import CLI
  6. from mininet.link import TCLink
  7. from time import sleep
  8.  
  9.  
  10. class Simple_Topology(Topo):
  11.     def __init__(self):
  12.         Topo.__init__(self)
  13.  
  14.         h1 = self.addHost('h1', ip='10.0.0.1/24', mac='00:00:00:00:00:01')
  15.         h2 = self.addHost('h2', ip='10.0.0.2/24', mac='00:00:00:00:00:02')
  16.         s1 = self.addSwitch('s1')
  17.         s2 = self.addSwitch('s2')
  18.  
  19.         # TODO Decide link parameters
  20.         # Use htb?
  21.         # internet = dict(bw=10, delay='2.5ms', loss=2, max_queue_size=100)
  22.         internet = dict(bw=100)
  23.         local = dict(bw=1000)
  24.         # local = dict(bw=100, delay='0.1ms', loss=1, max_queue_size=1000)
  25.  
  26.         # Links
  27.         self.addLink(h1, s1, **internet)
  28.         self.addLink(s1, s2, **local)
  29.         self.addLink(s2, h2, **internet)
  30.  
  31.  
  32. def main():
  33.     topo = Simple_Topology()
  34.     mn = Mininet(topo=topo, controller=None, link=TCLink)
  35.     mn.addController(
  36.         'c0', controller=RemoteController, ip='127.0.0.1', port=6633)
  37.     h1, h2, c0, s1 = mn.get('h1', 'h2', 'c0', 's1')
  38.  
  39.     for h in mn.hosts:
  40.         # disable ipv6
  41.         h.cmd("sysctl -w net.ipv6.conf.all.disable_ipv6=1")
  42.         h.cmd("sysctl -w net.ipv6.conf.default.disable_ipv6=1")
  43.         h.cmd("sysctl -w net.ipv6.conf.lo.disable_ipv6=1")
  44.  
  45.     for sw in mn.switches:
  46.         # disable ipv6
  47.         sw.cmd("sysctl -w net.ipv6.conf.all.disable_ipv6=1")
  48.         sw.cmd("sysctl -w net.ipv6.conf.default.disable_ipv6=1")
  49.         sw.cmd("sysctl -w net.ipv6.conf.lo.disable_ipv6=1")
  50.  
  51.     # c0.cmd('tcpdump -i lo -w logs/openflow.pcap port 6633 &')
  52.     mn.start()
  53.     h2.cmd('ping -c 1 10.0.0.1')
  54.     CLI(mn)
  55.     # sleep(2)
  56.     mn.stop()
  57.  
  58.  
  59. topos = {'simple_topo': (lambda: Simple_Topology())}
  60.  
  61. if __name__ == '__main__':
  62.     # setLogLevel('debug')
  63.     setLogLevel('info')
  64.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement