Hi Matheus,
> -----Original Message----- > From: users [mailto:users-bounces at dpdk.org] On Behalf Of Matheus > Salgueiro Castanho > Sent: Tuesday, February 23, 2016 2:11 PM > To: users at dpdk.org > Subject: [dpdk-users] Problems running ip_pipeline on VM > > 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? > Please follow the earlier discussion at thread - http://dpdk.org/ml/archives/users/2016-January/000215.html The problem I see here is that VM has set up virtual ports. The app_link_up_internal() function calls out low level Ethernet API to enable /disable port which doesn't work in case of virtual ports of VM. Therefore, disable app_link_up_internal () function (ip_pipeline/init.c ) and see if it fixes the error. _Jasvinder
