From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54264 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PGKO7-0002Xh-9Q for qemu-devel@nongnu.org; Wed, 10 Nov 2010 18:47:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PGKO5-0005HH-IZ for qemu-devel@nongnu.org; Wed, 10 Nov 2010 18:47:35 -0500 Received: from e5.ny.us.ibm.com ([32.97.182.145]:45560) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PGKO5-0005G1-G1 for qemu-devel@nongnu.org; Wed, 10 Nov 2010 18:47:33 -0500 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by e5.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id oAANQ8rR006878 for ; Wed, 10 Nov 2010 18:26:08 -0500 Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id oAANlUEw222796 for ; Wed, 10 Nov 2010 18:47:30 -0500 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id oAANlTCt016935 for ; Wed, 10 Nov 2010 18:47:29 -0500 Message-ID: <4CDB2F0F.4050109@linux.vnet.ibm.com> Date: Wed, 10 Nov 2010 17:47:27 -0600 From: Michael Roth MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RFC][PATCH v2 00/19] virtproxy: host/guest communication layer References: <1289428095-5059-1-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1289428095-5059-1-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: agl@linux.vnet.ibm.com, abeekhof@redhat.com, qemu-devel@nongnu.org, aliguori@linux.vnet.ibm.com, ryanh@us.ibm.com, amit.shah@redhat.com On 11/10/2010 04:27 PM, Michael Roth wrote: > OVERVIEW: > > Virtproxy proxies and multiplexes socket streams over a data channel between a host and a guest (currently network connections, emulated serial, or virtio-serial channels are supported). This allows for services such as guest data collection agents, host/guest file transfer, and event generation/handling to be implemented/deployed as basic socket-based daemons, independently of the actual data channel. > > This code is intended to provide a channel-independent abstraction layer for communicating with a QEMU-specific guest agent (in particular, the virtagent RPC guest agent which will follow this in a seperate patchset), but may have general utility beyond this (for instance: ssh/sftp/other guest agents/etc over isa/virtio serial), and so is submitted here as a seperate patchset. > > CHANGES IN V2: > - host daemon deprecated, virtproxy now integrated into qemu via a virtproxy chardev. The command-line options have not yet been converted over so for now the virtproxy layer is no longer testable directly. This will be addressed soon. Virtagent will hook into this chardev via a boolean chardev option. That patchset will follow this one shortly. > - deadlocking issue resolved > > BUILD/USAGE INFO: > # build guest daemon > make qemu-vp > ./qemu-vp -h > > EXAMPLE USAGE: > > note: oforward/iforward chardev options have not yet been converted over from original standalone host daemon implementation so this won't work till then. The examples however have been updated for reference. > > - Proxy http and ssh connections from a host to a guest over a virtio-serial connection: > # start guest with virtio-serial. for example (RHEL6s13): > qemu \ > -device virtio-serial \ > -chardev virtproxy,id=test0, \ > oforward=http:127.0.0.1:9080,oforward=ssh:127.0.0.1:22 \ > -device virtconsole,chardev=test0,name=test0 \ -device virtserialport,chardev=test0,name=test0