-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmntopo.py
45 lines (37 loc) · 1.11 KB
/
mntopo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.link import TCLink
from mininet.util import custom
# Topology to be instantiated in Mininet
class MNTopo(Topo):
"Mininet test topology"
def __init__(self):
"Custom Topo."
# Initialize topo
Topo.__init__(self)
# Hosts and switches
s1 = self.addSwitch('s1')
s2 = self.addSwitch('s2')
s3 = self.addSwitch('s3')
s4 = self.addSwitch('s4')
s5 = self.addSwitch('s5')
s6 = self.addSwitch('s6')
s7 = self.addSwitch('s7')
client = self.addHost('client')
server = self.addHost('server')
# Wire receiver
self.addLink(server, s2)
# Wire sender
self.addLink(client, s1)
# Wire switches
self.addLink(s1, s3)
self.addLink(s1, s4)
self.addLink(s1, s5)
self.addLink(s1, s6)
self.addLink(s1, s7)
self.addLink(s2, s3)
self.addLink(s2, s4)
self.addLink(s2, s5)
self.addLink(s2, s6)
self.addLink(s2, s7)
topos = { 'mntopo': ( lambda: MNTopo() ) }