diff options
authorJoshua Branson <>2018-10-29 14:25:10 -0400
committerSamuel Thibault <>2018-10-29 21:05:14 +0100
commit0a06ae836cdd17eb000d6087cfcf96bab5851617 (patch)
parent38a6c4e7e5631f44449d154d20b3aee1b02c85b1 (diff)
I created a new lwip translator page. It is bare minimum, and it probably is not completely accurate about how to start the translator.
3 files changed, 25 insertions, 1 deletions
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index b1dbb66..28c9562 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -13,7 +13,7 @@ is included in the section entitled
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. Recently lwip, which is an userspace tcp/ip library,
+design is not hurdish at all. Recently [[hurd/translator/lwip]], which is an userspace tcp/ip library,
was ported to the Hurd. If you are only using an ethernet connection, then it is possible to use
lwip as a complete replacement for pfinet. However, lwip uses the netdde device
drivers for wireless chips, which are old drivers from an old version of linux. To use
diff --git a/hurd/translator/lwip.mdwn b/hurd/translator/lwip.mdwn
new file mode 100644
index 0000000..9d3465b
--- /dev/null
+++ b/hurd/translator/lwip.mdwn
@@ -0,0 +1,19 @@
+Lwip is a lightweight TCP/IP stack, and a google summer of code made it possible to use lwip to replace pfinet.
+The lwip translator provides all of the following:
+* Support for IPv4 and IPv6
+* Support for TCP and UDP
+* Support for multiple Ethernet devices
+* Support for fsysopts and command-line parameters configuration
+* Support to create an IP tunnel which may be used by an OpenVPN client
+To configure lwip for internet connectivity, use the
+[[`settrans`|settrans]] command, like this:
+ # settrans -fgap /servers/socket/2 /hurd/lwip ↩
+ -i eth0 -a -g -m
+The argument /server/socket/2 is the node that the translator is to be attached to. This is followed by the translator program to run and any arguments to give it.
+There, -i, -a, -g and -m are, quite obviously, the (Mach) device to use, the IP address, the gateway and netmask.
diff --git a/hurd/translator/pfinet.mdwn b/hurd/translator/pfinet.mdwn
index bf535b2..1f4f7e3 100644
--- a/hurd/translator/pfinet.mdwn
+++ b/hurd/translator/pfinet.mdwn
@@ -9,6 +9,11 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
+Pfinet is a TCP/IP stack from an old linux version. It works but lacks some important
+features like PPP/PPPoE. Recently Recently [[hurd/translator/lwip]], which is
+an userspace tcp/ip library, was ported to the Hurd, which can serve as a direct
+replacement for pfinet.
To configure Internet connectivity, the `pfinet` (*Protocol Family Internet*)
[[translator]] must be configured. This is done using the
[[`settrans`|settrans]] command, for example like this: