[dpdk-users] [dpdk-dev] seg fault in InterVM communication using virtio

mitali mitaliyada at cse.iitb.ac.in
Thu Mar 2 15:00:25 CET 2017


I rebuild dpdk with debug enabled and running the same dpdk application.

Please go through the attached images showing the error as well as call 


On Thursday 02 March 2017 06:29 PM, Yuanhan Liu wrote:
> On Thu, Mar 02, 2017 at 06:02:28PM +0530, mitali wrote:
>> Hi,
>> Ok. But with other PMDs like igb, when we are providing sriov vf to VM and
>> running our client/server dpdk application then there is no issue in
>> communication between VMs.
>> As soon as we use virtio setup for VMs and running same dpdk application, it
>> stops after sending 127 packet and seg fault comes while executing
>> rte_eth_tx_burst(). We are still not clear why with virtio its creating this
>> issue but not with any other PMD.
> No idea. You don't provide any further details. Please, would you just
> enable the debug info, rebuild, run it with gdb and then dump the call
> stack after crash?
> 	--yliu
>> Mitali
>> On Thursday 02 March 2017 05:53 PM, Yuanhan Liu wrote:
>>> 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:
>>>>> On Wed, Feb 22, 2017 at 02:25:29PM +0530, mitali wrote:
>>>>>> 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdb_error_call_stack.png
Type: image/png
Size: 213966 bytes
Desc: not available
URL: <http://dpdk.org/ml/archives/users/attachments/20170302/20fd6b7a/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vm_gdb_error.png
Type: image/png
Size: 304846 bytes
Desc: not available
URL: <http://dpdk.org/ml/archives/users/attachments/20170302/20fd6b7a/attachment-0001.png>

More information about the users mailing list