qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1
Date: Tue, 08 Mar 2011 08:38:46 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110223 Lightning/1.0b2 Thunderbird/3.1.8

On 03/08/2011 08:17 AM, Avi Kivity wrote:
No, I'm in the process of writing up my latest proposal.

The idea is pretty simple. QAPI generates code for libqmp that takes native arguments for a command and generates a QObject. It also generates code for QEMU that takes a QObject and generates native arguments to pass to a function.

For guest commands, we combine the two such that we unmarshal the incoming QObject to native arguments, then pass it to another function that marshals the arguments to a QObject. The QObject is then passed to the guest-agent which uses the same generated code as QEMU to unmarshal the qobject to native arguments and dispatch to a function.

That means the only new code we need for the guest agent is the JSON-over-virtio-serial transport. To implement guest commands, we just add the command to the schema, implement the native arguments version in guest-agent, and that's it.

QEMU will buffer all input and output to the guest acting as a first line of defence from a security PoV. That means that the guest doesn't get to talk directly to the management tools which removes that as a direct attack surface.

The nature of QEMU is such that if we do tagging correctly, we can also support live migration transparently to the guest too.


http://wiki.qemu.org/Features/QAPI/GuestAgent

Regards,

Anthony Liguori




reply via email to

[Prev in Thread] Current Thread [Next in Thread]