Implementing Lightweight Routing for BSD TCP/IP

Antti Kantee and Johannes Helander

Abstract

We present a lightweight leaf node routing algorithm and implementation for the BSD networking stack and discuss why the new approach was difficult to implement. The key idea in the algorithm was to observe that end hosts will always send packets to the default gateway and therefore are not required to do actual routing. By removing routing functionality not required for embedded devices, the size of the compiled BSD routing code was reduced by over 430% resulting in a 22% overall reduction of the networking stack; this is more than the size of the TCP module. As a direct result, the savings enabled the inclusion of TCP functionality in embedded systems where is was not possible earlier. The features and performance of lightweight routing were shown to be similar to the historic BSD routing code in the embedded case.

Details

Publication typeInproceedings
Published inEuroBSD Conference 2006
> Publications > Implementing Lightweight Routing for BSD TCP/IP