ovs-dpdk 2.6 source package linkage broken

Bug #1629271 reported by Timo Koehler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openvswitch-dpdk (Ubuntu)
Expired
Medium
Unassigned

Bug Description

I am trying to build dpdk and ovs .deb packages on Ubuntu 16.04, from your latest source at
DPDK 16.07: https://launchpad.net/ubuntu/+source/dpdk/16.07-0ubuntu3
OVS 2.6: https://launchpad.net/ubuntu/+source/openvswitch/2.6.0~git20160912.dc61b4e-0ubuntu4

The actual problem is that ovs-vswitchd always links with the dpdk shared libs. Linking against .so I get dpdk0 No such device error.

sudo ovs-vsctl show

        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
                error: "could not open network device dpdk0 (No such device)"

2016-09-22T16:14:41.425Z|00044|bridge|WARN|could not open network device dpdk0 (No such device)

localadmin@compute29:~/ovs-dpdk_backport/debian$ ldd ./debian/openvswitch-switch/usr/lib/openvswitch-switch/ovs-vswitchd
        linux-vdso.so.1 => (0x00007fffadfea000)
        libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f0bf7dfc000)
        libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f0bf79a1000)
        libcap-ng.so.0 => /usr/lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007f0bf779b000)
        librte_pdump.so.1 => /usr/lib/x86_64-linux-gnu/librte_pdump.so.1 (0x00007f0bf7391000)
        librte_mbuf.so.2 => /usr/lib/x86_64-linux-gnu/librte_mbuf.so.2 (0x00007f0bf718e000)
        librte_vhost.so.3 => /usr/lib/x86_64-linux-gnu/librte_vhost.so.3 (0x00007f0bf6f70000)
        librte_pmd_ring.so.2 => /usr/lib/x86_64-linux-gnu/librte_pmd_ring.so.2 (0x00007f0bf6d6b000)
        librte_eal.so.2 => /usr/lib/x86_64-linux-gnu/librte_eal.so.2 (0x00007f0bf6b0c000)
        libethdev.so.4 => /usr/lib/x86_64-linux-gnu/libethdev.so.4 (0x00007f0bf687e000)
        librte_mempool.so.2 => /usr/lib/x86_64-linux-gnu/librte_mempool.so.2 (0x00007f0bf6677000)
        librte_meter.so.1 => /usr/lib/x86_64-linux-gnu/librte_meter.so.1 (0x00007f0bf6475000)
        librte_ring.so.1 => /usr/lib/x86_64-linux-gnu/librte_ring.so.1 (0x00007f0bf6271000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0bf6054000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0bf5e4c000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0bf5b42000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0bf5779000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0bf5575000)
        /lib64/ld-linux-x86-64.so.2 (0x000055f29b390000)
        librte_kvargs.so.1 => /usr/lib/x86_64-linux-gnu/librte_kvargs.so.1 (0x00007f0bf5371000)

ISSUES:
------------
#1: The linkage problem and dpdk0 not found.
    I am aware of http://dpdk.org/ml/archives/dev/2016-September/047832.html
    If you have a patch already could you let me know please?

#2: Is there any way to make the vswitchd link with the static libs?

#3: In debian/rules: override_dh_auto_configure I had to add '--with-dpdk' otherwise
the ovs-vswitchd in the .deb package is without dpdk support.

Tags: ovs-dpdk
Timo Koehler (tikoehle)
affects: dpdk (Ubuntu) → openvswitch-dpdk (Ubuntu)
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi,
#1: The linkage problem and dpdk0 not found.

This effectively is bug 1628419
The upload would have been in over the weekend, but I tried to fix too much at once and made a mistake that blocked it from going into the Archive. That will soon be fixed and available.

#2: Is there any way to make the vswitchd link with the static libs?

I never needed that and the packaging certainly isn't going that way.
You can try to build OVS "just on your own", but as I think #1 is covered by 1628419 you should be good without going the static link route.

#3: In debian/rules: override_dh_auto_configure I had to add '--with-dpdk' otherwise
the ovs-vswitchd in the .deb package is without dpdk support.

There are two packages, one with and one without -dpkg.
The "openvswitch-switch-dpdk" package has a vswitch with DPDK support.
That is to ensure that the rather new DPDK code doesn't negatively affect other Openvswitch users. To switch you have not only to install but alto update alternatives.
Here is an example for that: https://help.ubuntu.com/16.04/serverguide/DPDK.html#dpdk-openvswitch
Although as you already know this is for 16.04, so the DPDK_OPTS part in that doc do no more apply to Openvswitch >=2.6

I really think you just wait for the fix to 1628419 to get released, but I'll wait closing this as dup for your feedback.

Changed in openvswitch-dpdk (Ubuntu):
status: New → Incomplete
importance: Undecided → Medium
Revision history for this message
Timo Koehler (tikoehle) wrote :

Thanks Christian for your continued attention. Regarding #3 I downloaded the wrong source, thanks for pointing it out.. It looks like the fix for 1628419 was just released. I will try it and update this case until Friday this week.

Revision history for this message
Timo Koehler (tikoehle) wrote :

Sorry but I can't find a dpdk enabled vswitchd. I am using the latest source package:
bzr import-dsc https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch_2.6.0-0ubuntu2.dsc

I see both the openvswitch-switch and openvswitch-switch-dpdk .deb are created and I followed the steps to install it, update-alternatives.
openvswitch-switch_2.6.0-0ubuntu2_amd64.deb
openvswitch-switch-dpdk_2.6.0-0ubuntu2_amd64.deb

But the openvswitch-switch-dpdk package only contains usr/share/doc:
dpkg -x openvswitch-switch-dpdk_2.6.0-0ubuntu2_amd64.deb tmp
cd tmp
root@compute29:/home/localadmin/ovs_2.6.0-0ubuntu2/tmp# tree
.
└── usr
    └── share
        └── doc
            └── openvswitch-switch-dpdk
                ├── changelog.Debian.gz
                ├── copyright
                └── README.Debian

The compiled vswitchd under debian and _debian build dirs are not dpdk enabled; I tried all of them.
2016-10-06T11:38:04.926Z|00007|dpdk|ERR|DPDK not supported in this copy of Open vSwitch.
Is there any DEB_BUILD_OPTIONS required to enable dpdk ?

Revision history for this message
Timo Koehler (tikoehle) wrote :

Trying with dpdk_16.07-0ubuntu5 because it fixes 1628419. Above attempt was based on dpdk_16.07-0ubuntu4.

Revision history for this message
Timo Koehler (tikoehle) wrote :

Same problem - no dpdk enabled vswitchd

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for openvswitch-dpdk (Ubuntu) because there has been no activity for 60 days.]

Changed in openvswitch-dpdk (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.