Building complex network protocol stacks for small resource-constrained devices is more than just porting a reference implementation. Due to the cost pressure in this area especially the memory footprint has to be minimized. Therefore, embedded TCP/IP implementations tend to be statically configurable with respect to the concrete application scenario.
CiAO/IP is a configurable TCP/IP stack for small embedded systems. Due to the use of software product line engineering techniques and aspect-oriented programming it exhibits an extraordinary degree of tailorability while retaining source code compatibility and maintainability.
Our evaluation results showed that CiAO/IP thereby outperforms both lwIP and uIP in terms of code size (up to 90% less than uIP), throughput (up to 20% higher than lwIP), energy consumption (at least 40% lower than uIP) and, most importantly, tailorability.