首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mininet中出现异常错误

mininet中出现异常错误
EN

Stack Overflow用户
提问于 2018-05-27 19:04:13
回答 2查看 2.8K关注 0票数 0

我已经使用Mininet创建了一个简单的自定义拓扑。当我第一次运行它时,它工作正常,但之后我收到了以下错误消息:

异常:创建接口对(s1-eth1,h1-eth0)时出错: RTNETLINK答案:文件存在

它是什么?我如何解决它?

下面是我的拓扑结构:

代码语言:javascript
复制
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上没有活动的会话,也没有其他要关闭的控制器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-12 19:10:47

您实际上启动了两次Mininet。一次在脚本中,另一次在命令行中。将您的脚本更改为:

代码语言:javascript
复制
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并运行为

代码语言:javascript
复制
sudo python start_topology.run

或将脚本更改为

代码语言:javascript
复制
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并运行为

代码语言:javascript
复制
sudo mn --custom mytopo.py --topo=mytopo --mac --controller=remote,ip=127.0.0.1,port=6633

(相应地更改控制器的IP和端口)

票数 0
EN

Stack Overflow用户

发布于 2018-05-29 14:28:03

使用此库:

代码语言:javascript
复制
from mininet.link import TCLink, Intf

当你添加一个链接时:

代码语言:javascript
复制
self.addLink(s1, h1, cls=TCLink)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50551480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档