Hi, On Thu, Mar 27, 2008 at 05:50:37PM -0600, Joshua Stratton wrote:
> I'd still like some feedback from the Hurd developers about what they > would like to see in the TCP/IP rewrite. A bit of patience, please :-) > From what I envision, it would be modular design of two or more > translators (perhaps one for each protocol). Yeah, that's the idea. > I would personally like to know who works most with the networking > stack now and what they would like to see in a TCP/IP rewrite. Nobody really works on it -- that's why the task of rewriting it is open :-) > If you haven't read the paper Pierre posted, it's a very interesting > model and I would like to know what those developers involved in the > network stack like and don't like about it ( > http://www.cs.jhu.edu/~sarat/usenix-net-2004.ps<http://www.cs.jhu.edu/%7Esarat/usenix-net-2004.ps>). I haven't read the paper yet. I saw a presentation Shapiro gave which mentioned it among other things; but I didn't really understand most of it... I'm vaguely familiar with Shapiro's concepts in general though, so I think I can somewhat imagine what it is about. It is certainly a fascinating design, but I fear it might be problematic: It is created for a system like EROS -- that is, a pure capability system; a system with very fast IPC primitives; a system consequently sticking to POLA; a system using client-side allocation throughout; and probably a few other things I can't think of right now... All things that do not apply to the existing Hurd/Mach implementation. It would be very interesting to see how this design could be transferred to the Hurd/Mach framework -- I'd really like to know how flexible the Hurd is in this regard. But that's probably not an easy task; it requires good understanding of both EROS and Hurd/Mach concepts I guess. Not really suitable for a GSoC student new to both... Of course, it also depends on the mentor; if someone who is into such stuff takes it up, it might be doable. I don't yet know who is willing to mentor this task, though. If nobody else will, I would take it of course; but I don't know much about networking, so I wouldn't be very helpful on that side. I have a relatively good overview of most parts of the Hurd by now I believe, but not too much in-depth knowledge. I think I could come up with a design for the network stack using "traditional" translator interfaces; I wouldn't know how to approach it with client-side buffers, however -- but maybe that's only because I haven't read the paper... As I already mentioned in the comment for your application, I think you best try to learn more about translators and the Mach packet filtering over the next few days, and try to come up with a first draft design for the interfaces between the individual layers. (Of course, you can ask us for help if you have any specific questions :-) ) If you can use some of the ideas from the paper, fine; but if you encounter problems, better drop that for now and use a simpler design... You could still experiment with a more advanced design once SoC is over :-) For SoC itself, I'd rather see an approach that offers a better chance of yielding something usable... -antrik-