Thread (10 messages) 10 messages, 3 authors, 2017-03-02

Re: seg fault in InterVM communication using virtio

From: Yuanhan Liu <hidden>
Date: 2017-03-02 12:23:42

On Wed, Mar 01, 2017 at 07:20:37PM +0530, mitali wrote:
Hi,

We have some doubt regarding virtio front end. As we are running dpdk
application inside VM with virtio setup, do we need to use virtio specific
functions like virtio_recv_pkts() and virtio_xmit_pkts() to receive and
transmit packets, functions for port initialization like
virtio_dev_queue_setup()? If yes, we are unable to find any application
which uses these functions. Can you provide us some pointers on examples
which uses these functions.
If you are running DPDK inside guest (with virtio), then the virtio is
yet another PMD, meaning you should program it with the normal DPDK
ethdev APIs, something like rte_eth_dev_configure, rte_eth_rx/tx_queue_setup,
etc.

	--yliu
Thanks,
Mitali

On Thursday 23 February 2017 11:57 AM, Yuanhan Liu wrote:
quoted
On Wed, Feb 22, 2017 at 02:25:29PM +0530, mitali wrote:
quoted
Hi Yuanhan,

We are using virt-manager to start the VMs. We are attaching the image which
shows the vNIC setup for the VMs.

We have written our own dpdk application to send and receive UDP packets. The
command we are using is

./build/app/dpdkapi -c 1 -- -p 1 where dpdkapi is our application.

Inside the application we are sending and receiving packets from vNIC using
rte_eth_tx_burst() and rte_eth_rx_burst().

At the sender side after 127 packets the application stops and we observe a seg
fault in dmesg. Using the print statements we observed that it faults in
rte_eth_tx_burst(). All the 127 were received at the receiving VM.
Would you recompile dpdk with debug info enaled, which could be done by:

make ... EXTRA_CFLAGS='-g3 -O0'

And run it with gdb then dump the call stack?

--yliu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help