Getting started with Opendaylight

Opendaylight is a opensource SDN controller project. In this blog, I will try to cover the steps to get started with Opendaylight. The steps indicated below are the ones that I followed, obviously there will be other ways of doing the same.

My system:

  • I have a Lenovo W520 system with Windows 7 Enterprise edition installed.
  • My system has 12GB memory. I started off with 4GB memory and I realized that my system started becoming too slow when I have 1 or 2 VMs running along with some desktop applications. After I added 8GB memory, I did not have any issues.
  • Its better to have atleast 32GB of harddisk space free. As you start trying out different things, hard disk space becomes critical…

Setting up Environment:

  1. Install latest version of virtualbox( Virtualbox is desktop virtualization software over which different OS can be installed. Vmware player is another option, I liked virtualbox better than vmware player.
  2. Download Ubuntu 12.04 iso image. Better to pick 12.04 version  since some applications run only on 12.04. Other Linux distributions will also work.
  3. Install Ubuntu iso image as VM on top of Virtual box. Choose hard disk size of atleast 32 GB, default hard disk size is 8GB. Its painful to change hard disk size later, so its better to do it as part of OS install.
  4. By default, 1 network adapter with NAT is present in the VM. Create 1 more host-only adapter that allows the VM to talk to other VMs as well as with the host machine.
  5. Install Mininet( either as separate VM or directly in Ubuntu VM where controller will run. I have tried both options and they seem to work fine. Mininet allows to create a virtual network which controller can control.
  6. Install tools like Wireshark(packet analyzer), Packeth(Packet generator), tcpdump(text based packet analyzer), Postman(Rest api client). I will cover the tools in a separate blog.
  7. Install Eclipse Enterprise edition. Eclipse is a very powerful IDE and its very useful to browse and edit Java code. Opendaylight is written in Java. Opendaylight application can be compiled within Eclipse as well. I prefer browsing and editing within Eclipse and compiling separately outside Eclipse. Use this link( to import Opendaylight source code into Eclipse.

Installing Opendaylight:

Follow the link below to install Opendaylight

  • Out of the 2 options listed, Option 2 is preferred since it gives a good handle on the internals. Also, option 2 is needed when we need to change source code as well as for writing controller applications.
  • There is no need to add gateway address as specified in step 3 of simpleforwarding application. In latest controller code, default gateway is added automatically.


I referred following blogs, wikis and links to understand more on Opendaylight.

controller-dev mailer is very active and questions can be answered there. To post messages as well as to see archives, please refer:

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s