From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH/RFC 7/9] Virtual network guest device driver Date: Mon, 14 May 2007 15:32:07 +0300 Message-ID: <464856C7.7080001@qumranet.com> References: <1178903957.25135.13.camel@cotte.boeblingen.de.ibm.com> <13426df10705111244w1578ebedy8259bc42ca1f588d@mail.gmail.com> <46485070.3000106@qumranet.com> <200705141424.44423.cborntra@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: Jimi Xenidis , Carsten Otte , "jmk-zzFmDc4TPjtKvsKVC3L/VUEOCMrvLtNR@public.gmane.org" , kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, Martin Schwidefsky To: =?ISO-8859-1?Q?Christian_Borntr=E4ger?= Return-path: In-Reply-To: <200705141424.44423.cborntra-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Christian Borntr=E4ger wrote: > On Monday 14 May 2007 14:05, Avi Kivity wrote: > = >> But I agree that the growing code base is a problem. With the block = >> driver we can probably keep the host side in userspace, but to do the = >> same for networking is much more work. I do think (now) that it is doabl= e. >> = > > Interesting. What kind of userspace networking do you have in mind? > > One of the first trys from Carsten was to use tun/tap, which proved to be= slow = > performance-wise. > = tun/tap, but extended with: - true aio - aio with scatter/gather (IO_CMD_PWRITEV/IO_CMD_PREADV) - qemu support for native Linux aio (not the glibc hackaround currently = in place), so we get event coalescing and cheap multi request submission - tap support for tso With these, we could conceivably reach speeds close to an in-kernel = driver. Unfortunately we'd only know after all the hard work was done. > What I had in mind was some kind of switch in userspace. That would allow = > non-root guests to define there own private networks. We could use Linux = fast = > pipe implementation for guest-to-guest communication. = > > The questions is how to connect user space networks to the host ones? > - tun/tap is quite slow > - last time we checked, netfiler offered only IP hooks (if you dont use t= he = > bridging code) > - raw sockets get tricky if you do in/out at the same time because you ha= ve to = > manually deal with loops > = qemu has some support for this, see the '-net socket' option. -- = error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/