Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from mininet.net import Mininet
- from mininet.cli import CLI
- from mininet.log import lg
- from mininet.node import RemoteController, OVSSwitch
- from mininet.link import TCLink
- if __name__ == '__main__':
- lg.setLogLevel('info')
- net = Mininet(controller=RemoteController, link=TCLink, switch=OVSSwitch)
- #MIEJSCE NA KOD
- s1 = net.addSwitch('s1')
- s2 = net.addSwitch('s2')
- s3 = net.addSwitch('s3')
- s4 = net.addSwitch('s4')
- h1 = net.addHost('h1')
- h2 = net.addHost('h2')
- h3 = net.addHost('h3')
- net.addLink(h1, s3)
- net.addLink(h2, s2)
- net.addLink(h3, s4)
- net.addLink(s2, s4, bw=5, delay='2ms')
- net.addLink(s2, s1, bw=5, delay='2ms')
- net.addLink(s2, s3, bw=0.1, delay='2ms')
- nat = net.addNAT(ip='10.0.0.4/16')
- nat.configDefault()
- net.start()
- #h3-h2
- s4.cmd("ovs-ofctl add-flow s4 in_port=2,actions=output:1")
- s4.cmd("ovs-ofctl add-flow s4 in_port=1,actions=output:2")
- s2.cmd("ovs-ofctl add-flow s2 in_port=2,actions=output:1")
- #h2 -> swiat
- s2.cmd("ovs-ofctl add-flow s2 in_port=1,actions=output:flood")
- s2.cmd("ovs-ofctl add-flow s2 in_port=4,actions=output:1")
- s2.cmd("ovs-ofctl add-flow s2 in_port=3,actions=output:1")
- #h1-h2
- s3.cmd("ovs-ofctl add-flow s3 in_port=1,actions=output:2")
- s3.cmd("ovs-ofctl add-flow s3 in_port=2,actions=output:1")
- #h2-NAT
- s1.cmd("ovs-ofctl add-flow s1 in_port=1,actions=output:2")
- s1.cmd("ovs-ofctl add-flow s1 in_port=2,actions=output:1")
- h2.cmd("route add default gw 10.0.0.4 h2-eth0")
- s2.cmd("ovs-vsctl -- set port s2-eth1 qos=@newqos -- --id=@newqos create qos type=linux-htb queues=0=@q0 -- --id=@q0 create queue other-config:min-rate=0 other-config:max-rate=450000")
- CLI( net )
- net.stop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement