我已经使用Mininet创建了一个简单的自定义拓扑。当我第一次运行它时,它工作正常,但之后我收到了以下错误消息:
异常:创建接口对(s1-eth1,h1-eth0)时出错: RTNETLINK答案:文件存在
它是什么?我如何解决它?
下面是我的拓扑结构:
from mininet.topo import Topo
from mininet.net import Mininet
class CustomTopo (Topo):
def build(self):
S1 = self.addSwitch('s1')
H1 = self.addHost('h1')
H2 = self.addHost('h2')
self.addLink(S1, H1)
self.addLink(S1, H2)
topo = CustomTopo()
net = Mininet(topo)
net.start()
topos = {'mytopo': CustomTopo}有关更多信息,我使用Mininet 2.3.0d1
我在没有遥控器的情况下通过以下命令运行它,并收到另一个错误:sudo mn --custom /home/bob/Desktop/Mtopo.py --topo=mytopo --mac
错误是:异常:请关闭在端口6653上运行的控制器
我检查了netstat -nl |grep6653,但是在端口6653上没有活动的会话,也没有其他要关闭的控制器。
发布于 2018-06-12 19:10:47
您实际上启动了两次Mininet。一次在脚本中,另一次在命令行中。将您的脚本更改为:
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.cli import CLI
from mininet.node import RemoteController
class CustomTopo (Topo):
def build(self):
S1 = self.addSwitch('s1')
H1 = self.addHost('h1')
H2 = self.addHost('h2')
self.addLink(S1, H1)
self.addLink(S1, H2)
topo = CustomTopo()
net = Mininet(topo, controller=lambda name: RemoteController(name, ip='127.0.0.1', protocol='tcp', port = 6633), autoSetMacs=True)
net.start()
CLI(net)
net.stop()保存为start_topology.py并运行为
sudo python start_topology.run或将脚本更改为
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.cli import CLI
class CustomTopo (Topo):
def build(self):
S1 = self.addSwitch('s1')
H1 = self.addHost('h1')
H2 = self.addHost('h2')
self.addLink(S1, H1)
self.addLink(S1, H2)
topo = CustomTopo()
topos = {'mytopo': CustomTopo}保存为mytopo.py并运行为
sudo mn --custom mytopo.py --topo=mytopo --mac --controller=remote,ip=127.0.0.1,port=6633(相应地更改控制器的IP和端口)
发布于 2018-05-29 14:28:03
使用此库:
from mininet.link import TCLink, Intf当你添加一个链接时:
self.addLink(s1, h1, cls=TCLink)https://stackoverflow.com/questions/50551480
复制相似问题