42 lines
1.1 KiB
Python
Executable file
42 lines
1.1 KiB
Python
Executable file
#!/usr/bin/env python
|
|
|
|
from mininet.topo import Topo
|
|
from mininet.net import Mininet
|
|
from mininet.util import dumpNodeConnections
|
|
from mininet.log import setLogLevel
|
|
|
|
class CustomTopo(Topo):
|
|
"Single switch connected to n hosts."
|
|
def build(self):
|
|
client_vnis = list(range(1000, 1004))
|
|
vtep_count = 2
|
|
|
|
switch = self.addSwitch('s0')
|
|
|
|
vteps = []
|
|
for i in range(vtep_count):
|
|
vteps.append(self.addHost('s%s' % (i+1)))
|
|
self.addLink(node1=vteps[i], node2=switch, port1=0)
|
|
|
|
for vni in range(1000, 1004):
|
|
for i in range(vtep_count):
|
|
host = self.addHost('vni%ss%s' % (vni, i + 1))
|
|
self.addLink(node1=host, node2=vteps[i], port2=vni)
|
|
|
|
|
|
vault01 = self.addHost('vault01')
|
|
self.addLink(vault01, switch)
|
|
|
|
def simpleTest():
|
|
"Create and test a simple network"
|
|
topo = CustomTopo()
|
|
net = Mininet(topo)
|
|
net.start()
|
|
print( "Dumping host connections" )
|
|
dumpNodeConnections(net.hosts)
|
|
net.stop()
|
|
|
|
if __name__ == '__main__':
|
|
# Tell mininet to print useful information
|
|
setLogLevel('info')
|
|
simpleTest()
|