Mininet OVS-Controller can 't be loaded and run

mininet, networking, openvswitch, ubuntu

Solution

I had the exact same problem when I upgraded to Open vSwitch 2.1. In the release notes of ovs (NEWS) I found this:

  - ovs-controller has been renamed test-controller.  It is no longer
     packaged or installed by default, because too many users assumed
     incorrectly that ovs-controller was a necessary or desirable part
     of an Open vSwitch deployment.

I also found `test-controller` under `./tests/test-controller` (source distribution), so I just tried

sudo cp tests/test-controller /usr/bin/ovs-controller

and that works fine for me! I'm using Mininet 2.1 as well, but I had to do the above for it to work. Here's the output:

$ sudo mn --controller=ovsc
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
*** Starting 1 switches
s1
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2
h2 -> h1
*** Results: 0% dropped (2/2 received)
mininet>

It's interesting that they discourage the use of `test-controller`, and even more so that Mininet seems to rely on it. Perhaps there is a better executable for this purpose?

Let me know if this works for you!

Problem

When ever I try to login SSH to my mininet VM from Host terminal it shows Permission denied error and even from within VM terminal where the Mininet is hosted using command: ``` sudo mn --topo single,3 --mac --switch ovsk --controller remote` ``` it shows the following error: ``` ubuntu@ubuntu:~$ sudo mn *** Creating network *** Adding controller *** Adding hosts: h1 h2 *** Adding links: (h1, s1) (h2, s1) *** Configuring hosts h1 h2 *** Starting controller Cannot find required executable ovs-controller. Please make sure that it is installed and availabe in your $PATH: (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin/:/bin) ubuntu@ubuntu:~$ ``` So I can't continue using the SDN network! How can it be fixed manually and why this error happens!

Original source