qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Virtio-net control queue handling
@ 2019-02-26 14:13 Nikhil Agarwal
  2019-02-27 15:23 ` Stefan Hajnoczi
  0 siblings, 1 reply; 4+ messages in thread
From: Nikhil Agarwal @ 2019-02-26 14:13 UTC (permalink / raw)
  To: qemu-devel@nongnu.org; +Cc: Nikhil Agarwal

Hi All,

Is there any option in QEMU to offload virtio device control queue handling to backend instead of deciphering and passing to libvirt via QMP? if not, is there any interface in libvirt which passes on these message to application or i directly use QMP interface from QEMU?

Regards
Nikhil

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

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

* Re: [Qemu-devel] Virtio-net control queue handling
  2019-02-26 14:13 [Qemu-devel] Virtio-net control queue handling Nikhil Agarwal
@ 2019-02-27 15:23 ` Stefan Hajnoczi
  2019-02-27 17:39   ` Nikhil Agarwal
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Hajnoczi @ 2019-02-27 15:23 UTC (permalink / raw)
  To: Nikhil Agarwal; +Cc: qemu-devel@nongnu.org, jasowang, libvir-list

[-- Attachment #1: Type: text/plain, Size: 649 bytes --]

On Tue, Feb 26, 2019 at 02:13:43PM +0000, Nikhil Agarwal wrote:
> Is there any option in QEMU to offload virtio device control queue handling to backend instead of deciphering and passing to libvirt via QMP? if not, is there any interface in libvirt which passes on these message to application or i directly use QMP interface from QEMU?

I'm not sure I understand your question.  It could be because of
terminology:

"virtio device control queue" == virtio-net control virtqueue?

"backend" == vhost-user-net device backend?

"message" == QMP event?

I have CCed Jason Wang, QEMU network subsystem maintainer, and the
libvirt mailing list.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

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

* Re: [Qemu-devel] Virtio-net control queue handling
  2019-02-27 15:23 ` Stefan Hajnoczi
@ 2019-02-27 17:39   ` Nikhil Agarwal
  2019-02-28  2:47     ` Jason Wang
  0 siblings, 1 reply; 4+ messages in thread
From: Nikhil Agarwal @ 2019-02-27 17:39 UTC (permalink / raw)
  To: Stefan Hajnoczi, jasowang@redhat.com
  Cc: qemu-devel@nongnu.org, libvir-list@redhat.com

Hi Stefan,

Thanks for directing question to correct people, yes your understanding is correct.

I want virtio-net control virtqueue to be handled by vhost-user-net device based backend for vdpa use case where control message would do some configuration on actual hw device. Or these changes should to be done in libvirt where QMP event are being handled as of now?

Regards
Nikhil


-----Original Message-----
From: Stefan Hajnoczi <stefanha@gmail.com> 
Sent: Wednesday, February 27, 2019 8:54 PM
To: Nikhil Agarwal <nagarwal@xilinx.com>
Cc: qemu-devel@nongnu.org; jasowang@redhat.com; libvir-list@redhat.com
Subject: Re: [Qemu-devel] Virtio-net control queue handling

On Tue, Feb 26, 2019 at 02:13:43PM +0000, Nikhil Agarwal wrote:
> Is there any option in QEMU to offload virtio device control queue handling to backend instead of deciphering and passing to libvirt via QMP? if not, is there any interface in libvirt which passes on these message to application or i directly use QMP interface from QEMU?

I'm not sure I understand your question.  It could be because of
terminology:

"virtio device control queue" == virtio-net control virtqueue?

"backend" == vhost-user-net device backend?

"message" == QMP event?

I have CCed Jason Wang, QEMU network subsystem maintainer, and the libvirt mailing list.

Stefan

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

* Re: [Qemu-devel] Virtio-net control queue handling
  2019-02-27 17:39   ` Nikhil Agarwal
@ 2019-02-28  2:47     ` Jason Wang
  0 siblings, 0 replies; 4+ messages in thread
From: Jason Wang @ 2019-02-28  2:47 UTC (permalink / raw)
  To: Nikhil Agarwal, Stefan Hajnoczi
  Cc: libvir-list@redhat.com, qemu-devel@nongnu.org


On 2019/2/28 上午1:39, Nikhil Agarwal wrote:
> Hi Stefan,
>
> Thanks for directing question to correct people, yes your understanding is correct.
>
> I want virtio-net control virtqueue to be handled by vhost-user-net device based backend for vdpa use case where control message would do some configuration on actual hw device. Or these changes should to be done in libvirt where QMP event are being handled as of now?
>
> Regards
> Nikhil


Cc Michael. Several methods for dealing with control virtqueue:

1) using backend specific method. For example, multiqueue control for 
TAP was done in this way, and we plan to support RSS in this way as well 
(through steering eBPF program). But this may not work for the 
privilleged operations.
2) inventing new vhost(user) protocol, convert the vq command to 
vhost(user) command and pass it to vhost(user) backend.
3) extend vhost protocol to deal with control vq like you propose here.
4) notify libvirt using QMP event, we've already supported this if rx 
filter is changed for virtio-net, and let management to deal with the 
changes.
5) implementing or linking vhost backend qemu, then there's no need to 
invent no IPCs

For the case of vDPA, I'm not sure the use case for vDPA through 
vhost-user. Can you describe more about that? To me the best way is 
probably done through mdev and VFIO not userspace path.

Thanks


>
>
> -----Original Message-----
> From: Stefan Hajnoczi <stefanha@gmail.com>
> Sent: Wednesday, February 27, 2019 8:54 PM
> To: Nikhil Agarwal <nagarwal@xilinx.com>
> Cc: qemu-devel@nongnu.org; jasowang@redhat.com; libvir-list@redhat.com
> Subject: Re: [Qemu-devel] Virtio-net control queue handling
>
> On Tue, Feb 26, 2019 at 02:13:43PM +0000, Nikhil Agarwal wrote:
>> Is there any option in QEMU to offload virtio device control queue handling to backend instead of deciphering and passing to libvirt via QMP? if not, is there any interface in libvirt which passes on these message to application or i directly use QMP interface from QEMU?
> I'm not sure I understand your question.  It could be because of
> terminology:
>
> "virtio device control queue" == virtio-net control virtqueue?
>
> "backend" == vhost-user-net device backend?
>
> "message" == QMP event?
>
> I have CCed Jason Wang, QEMU network subsystem maintainer, and the libvirt mailing list.
>
> Stefan
>

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

end of thread, other threads:[~2019-02-28  2:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-26 14:13 [Qemu-devel] Virtio-net control queue handling Nikhil Agarwal
2019-02-27 15:23 ` Stefan Hajnoczi
2019-02-27 17:39   ` Nikhil Agarwal
2019-02-28  2:47     ` Jason Wang

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).