Christian Bornträger 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 doable. >> > > 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 the > bridging code) > - raw sockets get tricky if you do in/out at the same time because you have > 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/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel