Hi!

I try to install and use OVS with DPDK on Ubuntu 16.04 following this guide: 
https://help.ubuntu.com/16.04/serverguide/DPDK.html

On a Cisco UCS C240 with two physical CPUs (18 Cores each) I have two Intel 
X520-DA2 Cards, which is recognized and show properly:
root@caesar:/home/cisco# dpdk_nic_bind --status
Network devices using DPDK-compatible driver
============================================
0000:8f:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=vfio-pci 
unused=ixgbe     <- looks good, vfio-pci driver shown properly
0000:8f:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=vfio-pci 
unused=ixgbe     <- looks good, vfio-pci driver shown properly
Network devices using kernel driver
===================================
0000:07:00.0 'VIC Ethernet NIC' if=enp7s0 drv=enic unused=vfio-pci
0000:08:00.0 'VIC Ethernet NIC' if=enp8s0 drv=enic unused=vfio-pci
0000:0f:00.0 'I350 Gigabit Network Connection' if=enp15s0f0 drv=igb 
unused=vfio-pci *Active*
…
Other network devices
=====================
<none>
root@caesar:/home/cisco#

If I tweak the OVS Config as described in the Ubuntu DPDK Gude with the 
following line
  echo "DPDK_OPTS='--dpdk -c 0x1 -n 4 -m 2048 --vhost-owner libvirt-qemu:kvm 
--vhost-perm 0664'" | sudo tee -a /etc/default/openvswitch-switch
I will get the following error message:
root@caesar:/home/cisco# ovs-vsctl show
cf57d236-c8ec-4099-a621-8fda17920828
    Bridge "ovsdpdkbr0"
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
                error: "could not open network device dpdk0 (Cannot allocate 
memory)"
        Port "ovsdpdkbr0"
            Interface "ovsdpdkbr0"
                type: internal
    ovs_version: "2.5.0"
root@caesar:/home/cisco#

My UCS C240 Server has two nodes with 18 cores each. In the following forum 
http://comments.gmane.org/gmane.linux.network.openvswitch.general/6760
I saw similar issue and the solution was to configure memory like this:
---
Start vswitchd process with 8GB on each numa node (if reserve memory on just 1 
numa node, creating dpdk port will fail: cannot allocate memory)
./vswitchd/ovs-vswitchd --dpdk -c 0x1 -n 4 --socket-mem 8192,8192 -- 
unix:/usr/local/var/run/openvswitch/db.sock --pidfile --detach
---

If I change /etc/default/openvswitch-switch to
  DPDK_OPTS='--dpdk -c 0x1 -n 4 --socket-mem 4096,4096 --vhost-owner 
libvirt-qemu:kvm --vhost-perm 0664'
then I can enter OVS CLI commandos, but have to use “Ctrl +C” to get prompt 
after any OVS CLI. But it looks, like OVS accepts and executes CLIs.
I can create OVS DPDK bridges, but OVS cannot create a vhost_user socket at 
/var/run/openvswitch/vhost-user-1 – the following CLI does not work:

cisco@caesar:~$ sudo ovs-vsctl add-port ovsdpdkbr1 vhost-user-1 -- set 
Interface vhost-user-1 type=dpdkvhostuser
^C2016-05-26T17:11:16Z|00002|fatal_signal|WARN|terminating with signal 2 
(Interrupt)

cisco@caesar:~$ sudo ovs-vsctl show
cf57d236-c8ec-4099-a621-8fda17920828
    Bridge "ovsdpdkbr2"
        Port "ovsdpdkbr2"
            Interface "ovsdpdkbr2"
                type: internal
        Port "dpdk1"
            Interface "dpdk1"
                type: dpdk
    Bridge "ovsdpdkbr1"
        Port "vhost-user-1"
            Interface "vhost-user-1"
                type: dpdkvhostuser
        Port "ovsdpdkbr1"
            Interface "ovsdpdkbr1"
                type: internal
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
    ovs_version: "2.5.0"
cisco@caesar:~$

There is NO vhost-user-1 in /var/run/openvswitch/
cisco@caesar:~$ ls -la /var/run/openvswitch/
total 4
drwxr-xr-x  2 root root  100 May 26 11:51 .
drwxr-xr-x 27 root root 1040 May 26 12:06 ..
srwxr-x---  1 root root    0 May 26 11:49 db.sock
srwxr-x---  1 root root    0 May 26 11:49 ovsdb-server.5559.ctl
-rw-r--r--  1 root root    5 May 26 11:49 ovsdb-server.pid
cisco@caesar:~$
cisco@caesar:~$


So, my questions are:
1. What is the right config line for servers with two physical CPU (in my case 
node0 and node1 with 18 CPUs each) for
echo "DPDK_OPTS='--dpdk -c 0x1 -n 4 -m 2048 --vhost-owner libvirt-qemu:kvm 
--vhost-perm 0664'" | sudo tee -a /etc/default/openvswitch-switch

2. How can OVS create a vhost_user socket at /var/run/openvswitch/vhost-user-1 ?



And yes, HugePage support is enabled:
root@caesar:/home/cisco# cat /proc/meminfo | grep Huge
AnonHugePages:     16384 kB
HugePages_Total:      64
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
root@caesar:/home/cisco#

In /etc/default/grub I have:
GRUB_CMDLINE_LINUX_DEFAULT="iommu=pt intel_iommu=on hugepages=8192 
hugepagesz=1G hugepages=8 isolcpus=4,5,6,7,8"


Thanks,
Nikolai
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to