diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2009-03-05 19:20:56 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-03-05 19:20:56 +0100 |
commit | 788cf51a9546dd1daddf9f550af84c6bbecc94dc (patch) | |
tree | 50450796ffa46cc971c90ee08b4d31a534ece9ea /community/gsoc/project_ideas/tcp_ip_stack.mdwn | |
parent | d07689f82a29994100b094ca9b47c67e589a8d69 (diff) | |
download | web-788cf51a9546dd1daddf9f550af84c6bbecc94dc.tar.gz web-788cf51a9546dd1daddf9f550af84c6bbecc94dc.tar.bz2 web-788cf51a9546dd1daddf9f550af84c6bbecc94dc.zip |
community/gsoc/project_ideas: Split into subpages.
Diffstat (limited to 'community/gsoc/project_ideas/tcp_ip_stack.mdwn')
-rw-r--r-- | community/gsoc/project_ideas/tcp_ip_stack.mdwn | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn new file mode 100644 index 00000000..b8fb76df --- /dev/null +++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn @@ -0,0 +1,37 @@ +[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +[[meta title="Hurdish TCP/IP Stack"]] + +The Hurd presently uses a [[TCP/IP_stack|hurd/translator/pfinet]] based on code from an old Linux version. +This works, but lacks some rather important features (like PPP/PPPoE), and the +design is not hurdish at all. + +A true hurdish network stack will use a set of stack of [[hurd/translator]] processes, +each implementing a different protocol layer. This way not only the +implementation gets more modular, but also the network stack can be used way +more flexibly. Rather than just having the standard socket interface, plus some +lower-level hooks for special needs, there are explicit (perhaps +filesystem-based) interfaces at all the individual levels; special application +can just directly access the desired layer. All kinds of packet filtering, +routing, tunneling etc. can be easily achieved by stacking compononts in the +desired constellation. + +While the general architecture is pretty much given by the various network +layers, it's up to the student to design and implement the various interfaces +at each layer. This task requires understanding the Hurd philosophy and +translator programming, as well as good knowledge of TCP/IP. + +This is [[GNU_Savannah_task 5469]]. + +Possible mentors: ? + +Exercise: Make some modification to the existing pfinet implementation. (More +specific suggestions welcome... :-) ) |