DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] Problems running ip_pipeline on VM
@ 2016-02-23 14:11 Matheus Salgueiro Castanho
  2016-02-23 15:04 ` Singh, Jasvinder
  0 siblings, 1 reply; 2+ messages in thread
From: Matheus Salgueiro Castanho @ 2016-02-23 14:11 UTC (permalink / raw)
  To: users

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-users] Problems running ip_pipeline on VM
  2016-02-23 14:11 [dpdk-users] Problems running ip_pipeline on VM Matheus Salgueiro Castanho
@ 2016-02-23 15:04 ` Singh, Jasvinder
  0 siblings, 0 replies; 2+ messages in thread
From: Singh, Jasvinder @ 2016-02-23 15:04 UTC (permalink / raw)
  To: Matheus Salgueiro Castanho, users

Hi Matheus,


> -----Original Message-----
> From: users [mailto:users-bounces@dpdk.org] On Behalf Of Matheus
> Salgueiro Castanho
> Sent: Tuesday, February 23, 2016 2:11 PM
> To: users@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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-02-23 15:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-23 14:11 [dpdk-users] Problems running ip_pipeline on VM Matheus Salgueiro Castanho
2016-02-23 15:04 ` Singh, Jasvinder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).