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