我是mininet和python的新手。我想在mininet中执行python脚本,但我不知道如何在mininet中运行python脚本以及在哪里存储.py文件以便从mininet调用。
有什么想法吗?
答案 0 :(得分:3)
我是这样做的。 复制并粘贴以下代码或下载此文件:Simple_Pkt_Topo.py。
__author__ = 'Ehsan'
from mininet.node import CPULimitedHost
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.log import setLogLevel, info
from mininet.node import RemoteController
from mininet.cli import CLI
"""
Instructions to run the topo:
1. Go to directory where this fil is.
2. run: sudo -E python Simple_Pkt_Topo.py.py
The topo has 4 switches and 4 hosts. They are connected in a star shape.
"""
class SimplePktSwitch(Topo):
"""Simple topology example."""
def __init__(self, **opts):
"""Create custom topo."""
# Initialize topology
# It uses the constructor for the Topo cloass
super(SimplePktSwitch, self).__init__(**opts)
# Add hosts and switches
h1 = self.addHost('h1')
h2 = self.addHost('h2')
h3 = self.addHost('h3')
h4 = self.addHost('h4')
# Adding switches
s1 = self.addSwitch('s1', dpid="0000000000000001")
s2 = self.addSwitch('s2', dpid="0000000000000002")
s3 = self.addSwitch('s3', dpid="0000000000000003")
s4 = self.addSwitch('s4', dpid="0000000000000004")
# Add links
self.addLink(h1, s1)
self.addLink(h2, s2)
self.addLink(h3, s3)
self.addLink(h4, s4)
self.addLink(s1, s2)
self.addLink(s1, s3)
self.addLink(s1, s4)
def run():
c = RemoteController('c', '0.0.0.0', 6633)
net = Mininet(topo=SimplePktSwitch(), host=CPULimitedHost, controller=None)
net.addController(c)
net.start()
CLI(net)
net.stop()
# if the script is run directly (sudo custom/optical.py):
if __name__ == '__main__':
setLogLevel('info')
run()
然后你可以通过使用
来运行toposudo -E python <nameofthefile>
现在,您可以使用sudo -E python Simple_Pkt_Topo.py
来启动mininet。
这是教程link。
请注意,您需要一个控制器。如果你需要一些指示,请告诉我。
希望它有所帮助。
答案 1 :(得分:2)
当您打开mininet时,只需键入以下内容导航到自定义文件夹:
cd mininet/custom
然后输入:
ls
将显示自定义文件中的当前文件
然后你可以使用nano
文本编辑器来创建或编辑python / text文件,例如你可以输入:
nano custom.py
它将打开自定义文件,其中包含使用python代码的示例。然后您可以将其退出并将其另存为新文件。
这就是我开始编辑和编写python代码的方法,一旦你学会了如何使用putty SSH mininet,它就会变得更容易。
祝你好运