Hi all, We've been having problems running the ip_pipeline application on a VM.
We are using Open vSwitch 2.4 with DPDK 2.0 on the host and DPDK 2.2.0 on the VM. The OS is Ubuntu Server 14.04 x64, both host and guest. "uname -r" returns 3.13.0-24-generic for both as well. We are using vhost-user ports for the communication between the VM and OvS. Also, we take the same configuration steps on host and guest with the setup.sh script, bind interfaces to igb_uio driver, allocating hugepages, etc. When we try to run the ip_pipeline application by executing the command: ./build/ip_pipeline -f ./config/myFirewall.cfg -p 0x1 where myFirewall.cfg is my configuration file as follows: [PIPELINE0] type = MASTER core = 0 [PIPELINE1] type = FIREWALL core = 0 pktq_in = RXQ0.0 pktq_out = TXQ0.0 The output we get is this: [APP] Initializing CPU core map ... [APP] CPU core mask = 0x0000000000000001 [APP] Initializing EAL ... EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 1 as core 0 on socket 0 EAL: Support maximum 128 logical core(s) by configuration. EAL: Detected 2 lcore(s) EAL: VFIO modules not all loaded, skip VFIO support... EAL: Setting up physically contiguous memory... EAL: Ask a virtual area of 0x400000 bytes EAL: Virtual area found at 0x7f44d4000000 (size = 0x400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f44d3c00000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f44d3800000 (size = 0x200000) EAL: Ask a virtual area of 0x33400000 bytes EAL: Virtual area found at 0x7f44a0200000 (size = 0x33400000) EAL: Ask a virtual area of 0x3a000000 bytes EAL: Virtual area found at 0x7f4466000000 (size = 0x3a000000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4465c00000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4465800000 (size = 0x200000) EAL: Ask a virtual area of 0x2400000 bytes EAL: Virtual area found at 0x7f4463200000 (size = 0x2400000) EAL: Ask a virtual area of 0x800000 bytes EAL: Virtual area found at 0x7f4462800000 (size = 0x800000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4462400000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4462000000 (size = 0x200000) EAL: Ask a virtual area of 0x400000 bytes EAL: Virtual area found at 0x7f4461a00000 (size = 0x400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4461600000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4461200000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4460e00000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7f4460a00000 (size = 0x200000) EAL: Requesting 910 pages of size 2MB from socket 0 EAL: TSC frequency is ~2397217 KHz EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: Master lcore 0 is ready (tid=d56cb940;cpuset=[0]) EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: PCI device 0000:00:04.0 on NUMA socket -1 EAL: probe driver: 8086:1521 rte_igb_pmd EAL: Not managed by a supported kernel driver, skipped [APP] Initializing MEMPOOL0 ... [APP] Initializing LINK0 (0) (1 RXQ, 1 TXQ) ... PANIC in app_link_up_internal(): LINK0 (0): PMD set up error -95 7: [./build/ip_pipeline() [0x431c03]] 6: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f44d47e1ec5]] 5: [./build/ip_pipeline(main+0x5f) [0x4307bf]] 4: [./build/ip_pipeline(app_init+0xcf3) [0x43f2d3]] 3: [./build/ip_pipeline() [0x43df16]] 2: [./build/ip_pipeline(__rte_panic+0xc9) [0x42b23d]] 1: [./build/ip_pipeline(rte_dump_stack+0x1a) [0x4c4afa]] Apparently it fails when trying to initialize the link, but we're not sure why this is happening. Is there any other configuration step that we forgot in order to configure a VM to run a DPDK application? Thank you in advance and I'm free to provide any further information that might be necessary. -- Matheus Castanho
