From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [transparent networking] Re: [PATCH] kvm tools: Implement virtio network device Date: Wed, 13 Apr 2011 16:33:39 +0300 Message-ID: <4DA5A633.8060104@redhat.com> References: <1302695328-3503-1-git-send-email-asias.hejun@gmail.com> <4DA58E35.5010801@cs.helsinki.fi> <4DA59068.9060707@gmail.com> <20110413130242.GB24287@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Asias He , Pekka Enberg , Cyrill Gorcunov , kvm@vger.kernel.org To: Ingo Molnar Return-path: Received: from mx1.redhat.com ([209.132.183.28]:35355 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752581Ab1DMNeI (ORCPT ); Wed, 13 Apr 2011 09:34:08 -0400 In-Reply-To: <20110413130242.GB24287@elte.hu> Sender: kvm-owner@vger.kernel.org List-ID: On 04/13/2011 04:02 PM, Ingo Molnar wrote: > * Asias He wrote: > > > >> Here are some scp performance test for differenct implementations: > > >> None of rx and tx as thread: > > >> guest to host 3.2MB/s > > >> host to guest 3.1MB/s > > >> > > >> Only rx as thread: > > >> guest to host 14.7MB/s > > >> host to guest 33.4MB/s > > >> > > >> Both rx and tx as thread(This patch works this way): > > >> guest to host 19.8MB/s > > >> host to guest 32.5MB/s > > >> > > >> Signed-off-by: Asias He > > > > > > This is already in master. Thanks! > > > > > > > Ingo suggested to CC the updated version of this patch to kvm list. So I > > am posting this patch again. > > Thanks Asias, cool stuff. > > Maybe other KVM developers want to chime in about how to best implement > transparent (non-TAP-using) guest-side networking. > > The best approach would be to not go down as low as the IP/Ethernet packeting > level (it's unnecessary protocol overhead), but to implement some sort of > streaming, virtio based TCP connection proxying support. > > Strictly talking the guest does not need ICMP packets to have working Internet > connectivity - only passing/tunneling through TCP sockets would be enough. The > following highlevel ops are needed: > > - connect/shutdown/close > - send/receive > - poll > > And would be passed through to the host side and mirrored there into real > connect/shutdown TCP socket ops and into send/receive ops. > > The guest OS does not need to be 'aware' of this in any way, as long as the > bzImage has this magic guest tunneling support included. > > Obviously, such a highlevel approach would be much faster as well than any > packet level virtual networking approach. > > Does something like this exist upstream, or do we have to implement it? > macvtap does non-privileged setupless networking. -- error compiling committee.c: too many arguments to function