bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hurdish TCP stack (was: updated proposal)


From: Joshua Stratton
Subject: Re: Hurdish TCP stack (was: updated proposal)
Date: Tue, 1 Apr 2008 08:07:23 -0600


> I think this approach would fit nicely into the Hurd's translator
> architecture.  However, I'm not sure if I like the directory structure they
> use.  I would think the network interface should be shown like
>
> /net/eth0/tcp/2
>
> It might be worthwhile--but possible bad style?--to duplicate both
> hierachies so on may browse the connections by device or generally.
>
> Any preferences/comments on this?

It's clearly a mistake to map the directory tree to the protocols stack.
The TCP implementation is a global layer, it handles network interfaces
internally and must not be bound to any interface (ask yourself how to
implement INADDR_ANY, or IPv4 capable IPv6 sockets). In addition,
separating the network and transport layers implies several problems.
The most obvious one concerns performance. The Mach IPC subsystem
provides nice virtual copy support, but this facility creates an
important overhead that severely impacts high speed connections.
Carefully shared memory between the servers may help though.

I'm not sure what you mean  that it's a mistake to map the directory tree to the protocol stack.  Do you think the Plan9 implementation, for example, is also clearly a mistake then?  I'm not sure if I see the problem.  Wouldn't something like INADDR_ANY be a simple hook into the IP layer?  From what I understand, a bind on INADDR_ANY locks that port for all interfaces anyway so I don't see why this would be a problem.  Just have a special IP binding for getting every interface and that connection is shown in every interface directory.  Is the problem here with my implementation or a fault you generally see in the Plan9 implementation? 

Thanks,
Josh

reply via email to

[Prev in Thread] Current Thread [Next in Thread]