From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CHBzj-0001ie-Ig for qemu-devel@nongnu.org; Mon, 11 Oct 2004 22:02:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CHBzi-0001iD-N7 for qemu-devel@nongnu.org; Mon, 11 Oct 2004 22:02:31 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CHBzi-0001iA-KU for qemu-devel@nongnu.org; Mon, 11 Oct 2004 22:02:30 -0400 Received: from [204.127.202.56] (helo=sccrmhc12.comcast.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CHBs0-0001C9-8M for qemu-devel@nongnu.org; Mon, 11 Oct 2004 21:54:32 -0400 Message-ID: <001001c4affe$743e2400$6500a8c0@cstreet> From: "John Poplett" Subject: Re: [Qemu-devel] A QEMU net driver for OpenVPN's Tap-Win32 driver Date: Mon, 11 Oct 2004 20:54:47 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_000B_01C4AFD4.8B14A4D0" Reply-To: John Poplett , qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. ------=_NextPart_000_000B_01C4AFD4.8B14A4D0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit Hi, all Here is a patch that allows qemu to interface with OpenVPN's Tap-Win32 driver on windows. This provides an alternative to slirp and allows a guest OS to appear as though it is directly connected to a LAN. I have tested it by bridging OpenVPN's Tap-Win32 adapter with an Ethernet adapter using Windows XP's software network bridge. It gets about 4Mbytes bandwidth in either direction, tested with iperf on my 2.4 GHz P4. My test environment consists of Windows XP (host), Slackware 10 (guest) and the 2.0 beta 11 version of the Tap-Win32 driver. I have not tested this code against ppc or sparc. Most of the work was done by a friend who wishes to remain anonymous. I have contributed the semaphore code, benchmarking and other minor tweaks. The patch adds a new, win32 specific command line option: -tap adapter. "adapter" should be the name of an installed Tap-Win32 driver. Here is an example command line using the new option: qemu.exe -L %QEMU_HOME%\. -tap tap -m 128 -boot c -hda slackware-10-x86.img John ------=_NextPart_000_000B_01C4AFD4.8B14A4D0 Content-Type: application/x-gzip; name="tap-win32_3.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="tap-win32_3.patch.gz" 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 ------=_NextPart_000_000B_01C4AFD4.8B14A4D0--