Beyond Softnet


Jamal Hadi Salim

Znyx Networks

Robert Olsson

Uppsala University/Swedish University of Agricultural Sciences

Alexey Kuznetsov

Swsoft/INR


Abstract


The current 2.4 Linux network stack is based on a solid multi-processor-threaded implementation, known as softnet, which has been validated over the last 2 years.

Linux is also used extensively in Internet packet forwarding services such as firewalls and routers etc. Linux has a very modular packet processing framework based on the (ingress and egress) Traffic Control Framework as well as the Netfilter IP firewalling architecture.

While the Linux framework for "plugging in" packet services is very flexible, and very much proven in the real world, for Linux to be considered a strong Network Operating System, robustness under all conditions (including severe overload) is a key requirement that must be met.

Our work is to further improve Linux to have the following attributes:

We discuss the problems, solutions and provide experimental results in our attempts to deal with these issues. While the focus is on using a PC as a router, the solutions provided are applicable to Linux in use in all aspects as a network device (such as a server).

1. Introduction