Recently, while setting up my the network controller for OpenStack, I saw this message:

# tail -f /var/log/quantum/openvswitch-agent.log

ERROR [quantum.plugins.openvswitch.agent.ovs_quantum_agent] Failed to create OVS patch port. Cannot have tunneling enabled on this agent, since this version of OVS does not support tunnels or patch ports. Agent terminated!

What this means is that the versio of the datapath (shipped by Ubuntu) does not have the support needed to create tunnels or patch ports. This happened on Ubuntu 13.04.

Fortunately, it is VERY easy to solve this. You need to simply build your own datapath for your kernel. For this, you OpenvSwitch’s datapath source, and you need module-assistant:

apt-get install -y openvswitch-datapath-source module-assistant

You can then grab your kernel headers and any other dependencies:

module-assistant prepare

I noticed that either the kernel headers do not have the version.h in the right place, or the module-assistant looks in the wrong place. You can solve this by doing:

cd /lib/modules/`uname -r`/build/include/linux
ln -s ../generated/uapi/linux/version.h .

And finally, to download, build, and install the modulle:

module-assistant auto-install openvswitch-datapath

Now, reboot your system so that the new module is loaded, and you are ready to go. You will notice that “/var/log/quantum/openvswitch-agent.log” no longer has this issue.

6 Thoughts on “OpenStack – Quantum – Open vSwitch – datapath for tunnels or patch ports

  1. Hi i followed the procedure here, but i got an error while building the module “error Kernels before 2.6.18 or after 3.5 are not supported by this version of Open vSwitch, i’m installing openstack on Ubuntu 12.04 (3.8….)

  2. It looks like the version of “openvswitch-datapath-source” that comes with 12.04 doesn’t support the new kernels.

    You have some options:

    1.) Grab JUST those packages from the 13.04 repos.
    or

    2.) Apply just the patches:
    a.) http://openvswitch.org/pipermail/dev/2012-August/020147.html
    b.) http://permalink.gmane.org/gmane.network.openvswitch.devel/15719

    The conclusion: since from the patches you can see how little changes, I would just pull the Ubuntu packages of the new versions and install them temporarily just to build the datapath.

  3. Here is something interesting:

    12.04: https://launchpad.net/ubuntu/raring/amd64/openvswitch-datapath-source/1.9.0-0ubuntu1 – provides version: 1.4.0-1ubuntu1.6
    13.04: https://launchpad.net/ubuntu/raring/amd64/openvswitch-datapath-source/1.9.0-0ubuntu1 – provides version: 1.9.0-0ubuntu1

    The dependencies look identical. It should be pretty easy to just grab the new (under “Downloadable Files”) and install it.

  4. Thanks for the reply, i just decided to downgrade the kernel and run it on it, which works for me. Thanks again

  5. Pingback: HOWTO OpenStack Grizzly and Ceph with Puppet on Ubuntu 12.04 | Loïc Dachary

  6. Kevin on April 9, 2014 at 11:58 am said:

    Thank you so much for your post! Huge help. It works great for me~

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation