All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC] QEMU Guest and Host channel
@ 2013-05-12 15:12 Dong Xu Wang
  0 siblings, 0 replies; only message in thread
From: Dong Xu Wang @ 2013-05-12 15:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: wdongxu

Hi,

Now QEMU has a guest agent tool:
http://wiki.qemu.org/Features/QAPI/GuestAgent

Guest agent is used to send "guest agent commands" to agent, and agent 
will do some work and return the results via QMP protocol. Now 
qemu-guest-agent is mainly for single direction: Host->Guest, that is 
users will send command from host to guest.

I think it is useful to extend single direction to two-way protocol. 
Because sometimes, guest OS might have interest in Host's information, 
such as QEMU versions, with/without hardware assist virtualization 
features, host OS versions, host RAM/CPU usage.

Guest and host channel will add a individual command interface called
"qemu-channel", (in the future, it is possible to merge it with qemu-ga).

Usage can be like this:
1) install qemu-channel to guest OS. In windows, it also can be 
installed as a service, like qemu-ga.exe.
2) qemu-channel open a listen socket, waiting for user input.
3) interact with qemu-channel, using socat/nc to send command to 
qemu-channel, such as:
{"execute":"get-host-ramsize"}
4) qemu-channel communicates with QEMU, via a certain transport method. 
QEMU returns the results to qemu-channel.
5) qemu-channel writes result to client.

Since qemu guest agent already has channel/service/commands code, I 
think I can re-use some of them.

Do you have any suggestions or requests about my RFC? Please let me know 
your ideas, thanks in advance. :)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-05-12 15:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-12 15:12 [Qemu-devel] [RFC] QEMU Guest and Host channel Dong Xu Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.