Roadmap 2015

Antti Kantee pooka at ...279...
Sat Jan 3 13:53:03 CET 2015


On 02/01/15 17:50, Josef Söntgen wrote:
> On 01/02/15 15:45, Antti Kantee wrote:
>> For smb/nfs, you most likely want to implement the sockin_user set of
>> I/O hypercalls which allow the smb/nfs file system drivers from rump
>> kernels to use an external networking stack:
>>
>> http://nxr.netbsd.org/xref/src/sys/rump/net/lib/libsockin/sockin_user.h?r=1.1
>>
>> Now, that interface wasn't really ever designed to be implemented
>> anywhere except on NetBSD.  Nevertheless, we (I think it was Arnaud)
>> managed to cram support for all userspace platforms into the
>> implementation.  If you do want to change some aspects of that interface
>> to help it work on Genode, I'm more than happy to do it.
>
> Ah, I really overlooked using the sockin_user interface for this task
> and rather thought about implementing the virtual nic interface and
> using the rumpkernel's TCP/IP stack - thanks for pointing out this
> option. It is definitly a viable possibilty to check out.

Right, doing it on the nic level would work too, but then you'd have to 
give the rump kernel its own network configuration (IP etc.), which is 
usually not what you want in a microkernel file server context.  In 
fact, sockin was originally created so that the NFS driver in a rump 
kernel in userspace could use the existing system network and "just work".

>> Also, there's a 9p driver for puffs (*), which could theoretically just
>> work on Genode, though it would be a bit awkward; you'd run puffs in a
>> rump kernel server and the mount_9p client in a another server ... :/
>
> Though that would certainly work as well, I think it is more reasonable
> to implement it directly. 9p is a fairly simple protocol so using the
> whole rumpkernel stack would be overkill IMHO :)

As much as I like to see my code being used, I agree with you ;)




More information about the users mailing list