每当我想在mininet或某些自定义代码中运行sshd.py示例时,我自己编写了
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1)
*** Configuring hosts
h1 h2 h3 h4 h5
*** Starting controller
Cannot find required executable controller.
Please make sure that it is installed and available in your $PATH:
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
虽然$ sudo mn --test pingall
工作正常!
我想我应该找到open flow controller可执行文件并将其添加到路径中,但我不知道它位于何处。但测试创建一个控制器,工作正常!
我试图用
重新安装mininet$ ~/mininet/util/install.sh -a or [-fnv]
答案 0 :(得分:7)
在Ubuntu上遇到与mininet相同的问题。 尝试在构造Mininet对象时显式指定控制器类,例如而不是
net = Mininet(topo)
DO
from mininet.node import OVSController
net = Mininet(topo = topo, controller = OVSController)
这解决了我的问题。
答案 1 :(得分:5)
在最新版本的OVS中,ovs-controller被重命名为test-controller。
如果您没有使用以下命令,请首先安装openvswitch-testcontroller:
sudo apt-get install openvswitch-testcontroller
其次,创建一个指向测试控制器的符号链接:
sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller
这对我有用。
您也可以查看以下链接:http://installfights.blogspot.com.co/2016/09/cannot-find-required-executable.html
答案 2 :(得分:4)
我希望消息就像
无法找到所需的可执行文件" controller"。
无论如何,只要你安装了ovs-controller,例如由openvswitch-controller'提供在debian平台上打包,你所要做的就是
sudo ln / usr / bin / ovs-controller / usr / bin / controller
答案 3 :(得分:1)
我遇到了同样的问题,我通过安装新版本的mininet(2.1.0)解决了这个问题。在2.0.0版本中,我无能为力。
答案 4 :(得分:1)
ubuntu@ubuntu:~$ cd mininet/examples
ubuntu@ubuntu:~/mininet/examples$ dir
baresshd.py hwintf.py multipoll.py scratchnetuser.py
consoles.py limit.py multitest.py simpleperf.py
controllers2.py linearbandwidth.py popenpoll.py sshd.py
controllers.py milsontest.py popen.py tree1024.py
cpu.py miniedit.py README treeping64.py
emptynet.py multiping.py scratchnet.py
ubuntu@ubuntu:~/mininet/examples$ nano sshd.py
ubuntu@ubuntu:~/mininet/examples$ sudo python sshd.py
你试过这个吗?
OR,如果您使用sudo mn命令,请尝试:
sudo mn --controller=remote
答案 5 :(得分:1)
我遇到了同样的问题,所以我删除了mininet而不是再次使用" apt-get install mininet",我下载了源代码并安装了Mininet VM中包含的所有内容。这解决了这个问题。
只需查看"选项2:源自本地安装"在网站上: http://mininet.org/download/#option-1-mininet-vm-installation-easy-recommended
答案 6 :(得分:0)
据我所知,安装存在问题。我尝试了mininet VM,一切正常。
答案 7 :(得分:0)
在运行MiniEdit时,仅在“带Docker的SDN Hub教程VM 64位”(Ubuntu 14.04)上遇到了此问题。奇怪的是,当我从如此出色的tutorial运行我的第一个MiniEdit拓扑时,没有任何问题。
但是当我关闭MiniEdit,关闭Mininet客户端并继续运行其他拓扑时,出现“ Mininet无法找到所需的可执行控制器”错误。
我会注意到,在使用MiniEdit时,Mininet Client明确声明:
NOTE: PLEASE REMEMBER TO EXIT THE CLI BEFORE YOU PRESS THE STOP BUTTON. Not exiting will prevent MiniEdit from quitting and will prevent you from starting the network again during this sessoin.
在此SDN Hub教程中,我正在使用控制器文件的VM为/usr/bin/ovs-vsctl
。我需要创建到名为ln
的文件的软链接/usr/bin/controller
,以供MiniNet查找控制器配置。我使用以下命令执行此操作:
sudo ln /usr/bin/ovs-vsctl /usr/bin/controller
最后,如果由于现有/剩余拓扑配置而导致错误,则Mininet清理是一个有用的命令。
sudo mn -c