A lightweight and high-performance TCP/IP stack for Topsy

David Schweikert · 1998

Topsy is a portable micro-kernel operating system designed for teaching purposes at the ETH Zurich. Goal of this project was the design and implementation of a TCP/IP Stack for Topsy. The whole networking infrastructure in Topsy had to be built. Simplicity and readability were considered very important and therefore a modular, user-space protocol stack was designed. Efficiency was however preserved, with the use of techniques such as zero-copy operation and fast buffers. Each protocol module was kept completely independent of each other, with the use of “attributes” and a common configuration library which contains the dependence between the modules. The integration of new protocol modules should be very simple. Each module was implemented with a Topsy thread. Although it is elegant to reuse Topsy’s threading facilities, it is also too much complicated and expensive for this scope (pre-emptive multitasking). A simple user-space cooperative multitasking facility could be implemented in the future to enhance the performance, which is already good. This report presents the project, analyses it and also serves as documentation for the implementation.

Read the paper · More papers on PaperTik