[Top][All Lists]

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

[GSoC 2017] LwIP translator

From: Joan Lledó
Subject: [GSoC 2017] LwIP translator
Date: Sat, 26 Aug 2017 09:38:39 +0200

Dear Hurd developers,

The Google Summer of Code is about to end and it is time to summarize my work
on the lwip translator.

The initial goal of the project was to provide a translator able to replace
pfinet, that means providing at least the next functions:

- Support for IPv4 and IPv6
- Support for TCP and UDP
- Support for multiple Ethernet devices
- Support for fsysopts and command-line parameters configuration

I am glad to say the lwip translator provides all these functions. Besides,
the server can create an IP tunnel which may be used by an OpenVPN client.
That functionality is provided by pfinet too, although it was not included in
the initial list.

In my proposal, I planned to distribute lwip as part of the translator as
pfinet does with the Linux stack, but finally decided to provide it as a
regular shared library. This approach should simplify porting future lwip
releases and opens the possibility of distributing the stack as a Debian

Furthermore, some changes had to be made to the stack in order to make it work
on the Hurd, for instance:

- Allow sending packages from an unconfigured interface. This is required
for external DHCP clients.

- Remove maximum limit of sockets.

- Create a new function lwip_poll(), needed for the number of socket to not be
limited by the size of struct fd_set. Thank to Kalle Olavi Niemitalo for
the patch.

I am currently working with lwip developers on finding a way to upstream this
changes in order to reduce the amount of work required to port further lwip

Regarding the code, the translator can be found here:

And the lwip shared library is located here:

In addition, further information about the server can be found at my blog:

Finally, I would like to Thank Justus and all the Hurd developers for their
help and feedback during my GSoC. It has been an enriching experience by which
I learnt a lot about networking and OS programming, and I'll be glad to
continue to work on future contributions to the Hurd.



reply via email to

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