qemu-devel.nongnu.org archive mirror
 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 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).