Hi,

I am using vhost-user and have an application which wants to send packet to
VM.

Initial connection establishment phase between qemu and app seems fine and
control messages are exchanged and vrings are setup successfully.

But, as I mentioned earlier on the group, after I kick from the app to
indicate the availability of the packet, qemu doesn't get those packets. As
suggested, on debugging I found that none of the functions involved in the
receive leg like "receive_buf in virtio_net.c" or "virtqueue_get_buf in
virtio_ring.c" are hit  if I kick from my app after filling the receive
queue with packets.

Further, kick causes a writes to kickfd and I couldn't find any code in the
qemu that is listening for some fds.

Based on the above observation it seems that qemu doesn't have the code
where it will detect a kick event for a fd. I have looked into virtio_net.c
and virtio_ring.c and virtio_pci.c.

Sorry if I have missed anything, but I have been trying hard to understand
and implement this packet path from app to qemu via direct kicking but so
far failed.

Please can you share your suggestions as to where to look after in qemu
code after I kick from my app.

Thanks
Anshul Makkar

Reply via email to