summaryrefslogtreecommitdiff
path: root/community/gsoc/project_ideas/tcp_ip_stack.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2009-03-05 19:20:56 +0100
committerThomas Schwinge <tschwinge@gnu.org>2009-03-05 19:20:56 +0100
commit788cf51a9546dd1daddf9f550af84c6bbecc94dc (patch)
tree50450796ffa46cc971c90ee08b4d31a534ece9ea /community/gsoc/project_ideas/tcp_ip_stack.mdwn
parentd07689f82a29994100b094ca9b47c67e589a8d69 (diff)
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.mdwn37
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... :-) )