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

Reply via email to