Hi Paul,
thanks for the pointer! The project looks very interesting. From the talk, I got the impression that it should be fairly easy to port. The biggest problem might be the proper integration with Genode's C runtime. I.e., when the TCP/IP stack is used alongside a file-system plugin and descriptors for sockets and files are supplied to a call of 'select', blocking semantics for the socket API won't work. We eventually solved this issue for lwIP but it was a bit tricky.
As for comparing it to lwIP, the most interesting point from our perspective would be how the TCP/IP stack gets parametrized. With lwIP, some important parameters must be defined at compile time of the library ('lwipopts.h'). But one set of parameters hardly fits well with all applications using the library. To get the most out of lwIP, the library must be parametrized and built for each individual application. If PicoTCP supports parametrization at runtime, that would be a big plus.
The other drawback of lwIP for us is the lacking support for gigabit networking. But because PicoTCP targets embedded applications, gigabit networking might not be addressed by this TCP/IP stack either.
Are you planning to explore PicoTCP a bit more?
Cheers Norman