Installing Mininet, OpenDaylight and Open vSwitch

Installing Mininet, OpenDaylight and Open vSwitch

Installing Mininet, OpenDaylight and Open vSwitch

The easiest way to get started with a quick SDN lab image is using the Mininet image that is now managed by the ONLAB which is part of the ONRC. They do a nice job keeping the images maintained. Ideally the will incorporate ODL into the image soon since the ODL GUI is great for folks to get started with SDN.

Download and Bring up Mininet

You can use your prefered hypervisor of choice to run the image. The Mininet guide has instructions for each. Download Mininet and get the image up and running with the following guide:

Download and Get Started With Mininet

Open vSwitch should already be running when you boot mininet. You can stop and start the process with:

Stop the controller if you are using ODL for control.

Download and Start OpenDaylight

Performing the following will get OpenDaylight up and running on your mininet instance or you can run it on the host OS (or any other with IP connectivity). It is a simple two node network. If you run into issues head to the #opendaylight irc channel on
From Mininet run the following:

Upgrade Open vSwitch to v2.0

If you want to upgrade the Mininet OVS instance to the latest v2.0 you can pull from the following repo.

For a more advanced tutorial and topologies see the following link:

OpenDaylight Controller with Mininet →

A nice video by James Ahn is at the following:
Youtube Installation Instructions →


If you want to ssh to the host and run Wireshark you need to have X enabled in the SSH session. On a MAC until Wireshark fully evacuates QT use XQuartz.


Install a Linux GUI

Install LightDM or Gnomae Desktop if you want a GUI
If you want a GUI either of the following will install a stripped down build (no office etc).

A simple remote remote desktop application is XRDP. For installation instructions see this post here.

ONLab Chat with ODL

The ONLAB recently presented their work to the Technical Work Stream OpenDaylight call that is open to anyone along with the TSC weekly call. Take a look at the recording if interested. They are doing some interesting stuff with network topologies and also expanding Mininet to a multi-node distribution.

OpenDaylight Tech Work Stream (See the September 30, 2013 meeting Recording at the Bottom)

Update: I ran into a nice, relatively new blog that had a nice post with a clear custom topology explanation and other good hands on posts:

Tools used with Opendaylight – Sreenivas Makam’s Blog

Thanks and happy hacking!


About the Author

Brent SalisburyI have over 15 years of experience wearing various hats from, network engineer, architect, devops and software engineer. I currently have the pleasure of working at the company that develops my favorite software I have ever used, Docker. My comments here are my personal thoughts and opinions. More at Brent's BioView all posts by Brent Salisbury →

1 year 5 months ago

Howdy Brent – been following your stuff since I heard you on packetpushers but I must admit to some confusion…we’re coming along with SDN here at RIT but what is the deal with all the controllers? POX at GENI, then we had Floodlight and now OpenDaylight and OVS in the center of it all with distros changing faster than we can keep up.

What would you recommend for a reasonably stable collection of tools?

Rampras VM
1 year 5 months ago

OK I figured it myself
Following command removes the opendaylight project:

mvn build-helper:remove-project-artifact

[INFO] — build-helper-maven-plugin:1.8:remove-project-artifact (default-cli) @ distribution.opendaylight —
[INFO] /root/.m2/repository/org/opendaylight/controller/distribution.opendaylight removed.

Rampras VM
1 year 5 months ago

Thanks a lot for a detailed explanation
I have actually installed OpendayLight components on direct physical machine
How do I uninstall completely all the components of ODL


Omer Ansari
1 year 9 months ago

Hi Brent, love what you’re doing with SDN. Huge Fan. Any chance you know when the first download for opendaylight will come out? I’ve not received any updates on the newsletter and this URL ( is still stating the download will be available Q4 ’13 … Figure you may know the inside scoop..details.


Fedor Goncharov
1 year 10 months ago

Hi Brent!
I’ve a question about the ovs-switch. I’ve been looking(and thinking) for some nice solutions to use the controller with a set of clusters and found out that Opendaylight Controller proposes to use High Avalability Model in this case(in general distributed set of multiple controllers act as one). Looks very attractive, plus current OF specification gives some definitions on multi-homed switches(exactly the switches which may connect to multiple controllers) but the sad thing that(as I understood) support of multi-connections is left to vendors of the switches. I just wonder, does ovs support multiple connections? Maybe there are some other switches that can do that?

Fernando Sanchez
1 year 10 months ago

Let me reply to my own question: mininet requires the openvswitch-controller binary to be in the system, but it actually asks you to shut it down before starting.

Even if you upgrade the rest of the system to 2.0, you can keep the controller in an older version. I am running Ubuntu 13.10 in my test system which comes with openvswitch controller version 1.10-2. After upgrading the rest of the Openvswitch packages to 2.0 with the repository mentioned in this article, I was able to manually reinstall the controller downloading the .deb package from here ( and installing it with “dpkg -i –force-all openvswitch-controller_1.10.2-0ubuntu2_amd64.deb).

This is probably not the most orthodox way of running this thing but it seems to work fine… I hope the repository above will soon provide a proper controller package, but in the meantime…

Hope this helps!!

Fernando Sanchez
1 year 10 months ago

A question on the upgrade of Openvswitch to 2.0: The repository you point to doesn’t seem to have a 2.0 package for the controller (or at least my system is not able to find a candidate package). After upgrading the switch, I am getting an error from mininet showing that it can’t find a controller, did you run into this situation?