Comment 0 for bug 1657354

Revision history for this message
Veena (mveenasl) wrote :

Deployment of openstack having one controller and one compute node with OVS-DPDK and NSH is successful. However OVS does not start with DPDK options and error in ovs-vswitchd.log - "could not create netdev dpdk0 of unknown type dpdk"

Other details:

root@node-17:~# uname -a
Linux node-17.domain.tld 3.13.0-107-generic #154-Ubuntu SMP Tue Dec 20 09:57:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

root@node-17:~# ps -ef |grep ovs-vswitchd
root 16692 1 0 07:25 ? 00:00:00 ovs-vswitchd: monitoring pid 16693 (healthy)
root 16693 16692 0 07:25 ? 00:00:00 ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor
root 17083 28327 0 07:25 pts/7 00:00:00 grep --color=auto ovs-vswitchd

The DPDK options are enabled in /etc/default/openvswitch-switch.

root@node-17:~# cat /etc/default/openvswitch-switch
/etc/init.d/dpdk start

export DPDK_OPTS="--dpdk -c 0x1 -n 2 --socket-mem 2048"

# LP 1546565
umask 0000

root@node-17:~# ovs-vsctl show
0fb9bed4-d05d-4f55-9299-89d241447bcb
    Bridge br-int
        fail_mode: secure
        Port int-br-prv
            Interface int-br-prv
                type: patch
                options: {peer=phy-br-prv}
        Port br-int
            Interface br-int
                type: internal
    Bridge br-prv
        fail_mode: secure
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
                error: "could not open network device dpdk0 (Address family not supported by protocol)"
        Port br-prv
            Interface br-prv
                type: internal
        Port phy-br-prv
            Interface phy-br-prv
                type: patch
                options: {peer=int-br-prv}
    ovs_version: "2.5.90"

root@node-17:~# ovs-vsctl list Open_vSwitch
_uuid : 0fb9bed4-d05d-4f55-9299-89d241447bcb
bridges : [0c60a70a-f463-45a3-a0a7-edb337301181, a07227f4-16a8-4b00-a8ff-6ecb9b8884a3]
cur_cfg : 12
datapath_types : [netdev, system]
db_version : "7.12.1"
external_ids : {hostname="node-17.domain.tld", system-id="89e725ff-8f1c-4746-8ed8-a4d280cda1ba"}
iface_types : [geneve, gre, internal, ipsec_gre, lisp, patch, stt, system, tap, vxlan]
manager_options : []
next_cfg : 12
other_config : {}
ovs_version : "2.5.90"
ssl : []
statistics : {}
system_type : Ubuntu
system_version : "14.04-trusty"

root@node-17:~# dpkg -l | grep openv
ii neutron-openvswitch-agent 2:8.2.0-3~u14.04+mos36 all OpenStack virtual network service - Open vSwitch agent
ii openvswitch-common 2.5.90-1.nsh amd64 Open vSwitch common components
ii openvswitch-datapath-dkms 2.5.90-1.nsh all Open vSwitch datapath module source - DKMS version
ii openvswitch-switch 2.5.90-1.nsh amd64 Open vSwitch switch implementations
ii openvswitch-switch-dpdk 2.5.90-1.nsh amd64 DPDK enabled Open vSwitch switch implementation
ii python-openvswitch 2.5.90-1.nsh all Python bindings for Open vSwitch

Tried to manually add the DPDK_OPTS in /usr/share/openvswitch/scripts/ovs-ctl by following - https://bugs.launchpad.net/ubuntu/+source/openvswitch-dpdk/+bug/154746
when service openvswitch-switch restarted, there was error - ovs-vswitchd: DPDK support not built into this copy of Open vSwitch.