This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
vxlan-router/mn.py

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()