我创建了一个自定义mininet拓扑如下:
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.cli import CLI
class MyTopo (Topo):
def __init__(self):
Topo.__init__(self)
# Add hosts and switches
s1 = self.addSwitch('s1')
s2 = self.addSwitch('s2')
s3 = self.addSwitch('s3')
for i in range(1, 21):
self.addHost('h%s'%i, ip='10.0.0.%s'%i)
self.addLink('h%s'%i, s1)
for i in range(21,41):
self.addHost('h%s'%i, ip='10.0.0.%s'%i)
self.addLink('h%s'%i, s2)
for i in range(41,61):
self.addHost('h%s'%i, ip='10.0.0.%s'%i)
self.addLink('h%s'%i, s3)
#Add link between switches
self.addLink(s1, s2)
self.addLink(s2, s3)
topo = MyTopo()
net = Mininet(topo)
net.start()
h1 = net.get('h1')
print(h1)
result = h1.cmd('ifconfig')
print(result)
CLI(net)
net.stop()
topos = { 'mytopo': ( lambda: MyTopo() ) }
我在终端使用 sudo mn --custom /home/bob/pox/ext/My_topology1.py --topo=mytopo --mac 作为命令 . 这里有2个问题:
-
Mininet创建此拓扑两次 . 首先它运行 net.start() 并显示 print(result) ,当我退出mininet bash时,它再次开始创建拓扑 . 我想只创建一次拓扑 . 什么是问题,我该如何解决?
-
如您所见,我使用 --mac 但是当它第一次创建拓扑时,结果是: Ethernet HWaddr 82:86:c5:f1:38:bd 但第二次是正确的: Ethernet HWaddr 00:00:00:00:00:01 . 我怎样才能解决这个问题?