Skip to content

Instantly share code, notes, and snippets.

@JJL772
Created January 17, 2022 07:02
Show Gist options
  • Save JJL772/76df0e1e40ea5f883f4ed9d5357494f0 to your computer and use it in GitHub Desktop.
Save JJL772/76df0e1e40ea5f883f4ed9d5357494f0 to your computer and use it in GitHub Desktop.
lab1.py
#!/usr/bin/env python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.cli import CLI
class Lab1Topology(Topo):
def __init__(self):
Topo.__init__(self)
# Add our hosts
self.user1 = self.addHost('user1')
self.user2 = self.addHost('user2')
self.laptop = self.addHost('laptop')
self.phone = self.addHost('phone')
self.ipad = self.addHost('ipad')
self.server1 = self.addHost('server1')
self.server2 = self.addHost('server2')
# Add our switches
self.sw1 = self.addSwitch('sw1')
self.sw2 = self.addSwitch('sw2')
self.sw3 = self.addSwitch('sw3')
# Define the links between the switches
self.addLink(self.sw1, self.sw2)
self.addLink(self.sw2, self.sw3)
# Define the links from hosts to sw1
sw1Links = [
self.user1, self.user2, self.laptop
]
for l in sw1Links:
self.addLink(l, self.sw1)
# Define links from hosts to sw2
sw2Links = [
self.phone, self.ipad
]
for l in sw2Links:
self.addLink(l, self.sw2)
# Define links from hosts to sw3
sw3Links = [
self.server1, self.server2
]
for l in sw3Links:
self.addLink(l, self.sw3)
self.addLink(self.server2, self.sw3, delay=50)
if __name__ == "__main__":
# Create our topo & run mininet
topo = Lab1Topology()
net = Mininet( topo=topo )
net.start()
CLI(net)
net.stop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment