Building a Next-Generation Residential Gateway

Using the steps described above, you should be able to build a Linux-based
RG with relatively little effort. If performance becomes an issue, which
almost certainly will be the case if you cannot use high-end processors,
follow the optimizations guidelines outlined above. And, it's
always a good idea to run a profiler on your particular system to discover
additional bottlenecks.

Although this article discusses RGs, most of the conclusions and
guidelines are true for any embedded networking system.

The issue of Linux optimization for RG systems actually leads to a much
bigger and more controversial topic. There seems to be a significant
communication problem between the Open Source community and embedded
developers working for commercial companies. On one hand, features added
to the kernel sometimes hurt performance on small embedded systems. On
the other hand, Linux improvements done by some companies do not always find
their way back to the main kernel tree, often because they are not done
properly. One good example of this miscommunication is the 2.6 kernel
itself, which included many important improvements for embedded systems,
but suffered some performance degradation. As a result, a significant
number of embedded systems still run the 2.4 kernel. The reason for this
miscommunication is probably the fact that semiconductor companies that
usually do embedded software development find it hard to embrace the idea of
open source, but it also may be due to the fact that the Open Source community is
less interested in embedded systems, because they are harder to hack than a PC. I
do believe that the first problem eventually will go away, as semiconductor
companies understand how they can benefit from open source, and I try
to do my share of explaining wherever I can. As for the second problem,
one of the messages of this article is that it's easy and pretty
cool to hack embedded systems, and you actually may have the
hardware already.

Alexander Sirotkin works for Metalink Broadband as a software
architect. Metalink Ltd. (NASDAQ: MTLK) is a leading provider of
high-performance wireless and wireline broadband communication silicon
solutions. Alexander has more than ten years' experience in software, operating
systems and networking, and he holds MSc and BSc degrees in Applied
Statistics, Computer Science and Physics from Tel-Aviv University.