mininet使用脚本创建拓扑时出现Cannot find required executable 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)
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3
*** Adding switches:
s1 s2
*** Adding links:
(h1, s1) (h2, s1) (s1, s2)(h3,s2)
*** Configuring hosts
h1 h2 h3
*** 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
创建网络拓扑以及pingall
却没问题。
尝试解决方法
网上搜发现大部分都是通过sudo ln /usr/bin/ovs-vsctl /usr/bin/controller
这个命令解决。
尝试了后报错无法找到ovs-vsctl
再次发现,是版本问题,在OVS的最新版本中,OVS -controller被重命名为test-controller。
sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller
再次创建符号链接试一试,成功解决。
不行的可以试一试,我的ovs默认安装的最新版。
如果还没有安装openvswitch-testcontroller,首先使用以下命令安装
sudo apt-get install openvswitch-testcontroller