我使用python创建自定义mininet拓扑。详细了解拓扑结构并不重要。
我用ryu作为控制器。特别是我使用app" ofctl_rest.py"。该控制器不会自行在交换机中安装规则。您必须发出rest - 命令来建立规则。在每个休息请求(规则)中,您必须指定传出端口。要指定此端口,我需要有关网络拓扑的信息。
我需要知道哪个链接连接到端口。我需要知道端口运行的接口。同样有用的是了解外部接口,外部交换机/主机和实际端口的端口。如何检索此信息???
请帮帮我。我现在真的很沮丧,因为我不知道该怎么弄清楚。
答案 0 :(得分:0)
在mininet CLI中,您可以使用net
命令查找拓扑。 nodes
命令将显示节点列表。
您还可以使用dump
命令显示接口详细信息。
有关' hosts'的信息,例如它们,您可以在每个主机上运行正常的linux命令,例如:
mn> h1 ifconfig
将在主机ifconfig
上运行h1
,向您显示该主机的一些网络配置。
鉴于您似乎是从自定义脚本运行mininet,您可以在脚本结束时启动CLI(如果可能的话),例如
。net = Mininet(your_topo)
net.start()
CLI(net)
net.stop()
否则,您可以使用mininet python API查找大部分信息。
dump*
个功能会打印出大量信息。topo.links()
会为您提供拓扑中的链接列表。topo.linkinfo()
可能会给你一些额外的信息。对于流信息,您可以在mininet之外(在普通shell中)运行ovs-dpctl
,ovs-ofctl等,或者在mininet CLI中运行不带ovs-
前缀的等效项。