From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52468 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwjF2-0005az-Vt for qemu-devel@nongnu.org; Mon, 07 Mar 2011 17:49:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PwjEj-0006Ky-An for qemu-devel@nongnu.org; Mon, 07 Mar 2011 17:49:10 -0500 Received: from e32.co.us.ibm.com ([32.97.110.150]:59098) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PwjEj-0006KZ-5H for qemu-devel@nongnu.org; Mon, 07 Mar 2011 17:49:09 -0500 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p27McXju011975 for ; Mon, 7 Mar 2011 15:38:33 -0700 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p27Mn7ug121510 for ; Mon, 7 Mar 2011 15:49:07 -0700 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p27Mn6CC016796 for ; Mon, 7 Mar 2011 15:49:07 -0700 Message-ID: <4D7560DF.6000404@linux.vnet.ibm.com> Date: Mon, 07 Mar 2011 16:49:03 -0600 From: Michael Roth MIME-Version: 1.0 References: <1299528642-23631-1-git-send-email-mdroth@linux.vnet.ibm.com> <4D755190.6020101@us.ibm.com> In-Reply-To: <4D755190.6020101@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [RFC][PATCH v7 00/16] virtagent: host/guest communication agent List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: agl@linux.vnet.ibm.com, stefanha@linux.vnet.ibm.com, markus_mueller@de.ibm.com, qemu-devel@nongnu.org, Jes.Sorensen@redhat.com, abeekhof@redhat.com On 03/07/2011 03:43 PM, Anthony Liguori wrote: > On 03/07/2011 02:10 PM, Michael Roth wrote: >> These patches apply to master (3-07-2011), and can also be obtained from: >> git://repo.or.cz/qemu/mdroth.git virtagent_v7 >> >> CHANGES IN V7: >> >> - Removed dependency on xmlrpc-c for data transport. Now using JSON >> via QEMU's qjson qobject<->json conversion routines. Binary encoding >> mechanisms such as Protocol Buffers and ASN.1/BER were considered, but >> due to limited library support, and limitations of isa/virtio serial >> transport that would have required an additional layer of encoding to >> reliably determine RPC boundaries during transport (more here: >> http://www.mail-archive.com/qemu-devel@nongnu.org/msg56237.html), >> qobject<->json seemed to be the most prudent route. > > Then it needs to be based on QAPI. No point in reinventing the wheel. It > won't be bidirectional though. The guest will only be able to post events. It's not really inventing anything. We've always started off with qobject params, which we then pulled apart and stuck into xmlrpc params, which when then turned into xml for transport. Now we just take the qobjects and covert them to json directly. We've only cut out an intermediate library and switched to a different UTF8-based encoding for transport. With QAPI we'd have the extra step of pulling function parameters into a qobjects. Not any different from what the situation would've been using xmlrpc or any of the other binary encoding that were considered. It does look more similar to what QMP/QAPI is doing than previously, but it doesn't need to be all or nothing. > > Regards, > > Anthony Liguori >