Data flowing through the internet is delivered to its destination by network hardware. These tools can decide among their network ports, which one is the best way to forward data on. At the same time there is a huge improvement in information technology in the manner of speed and also energy consumption. Thus we have to develop high speed and also energy efficient network hardware.
High speed forwarding is realized in two levels. The first level is the control plane. This is dealing with filling and refreshing routing tables by processing routing algorithms on protocol messages. This is optimally realized with software. The second level is data or forwarding plane. Data plane is looking up the proper routes from the routing tables, and forwarding data to the best route. This problem has many hardware solutions, for instance CAM-tables. Optimal separation of these functions leads not only to a fast but also to an energy efficient operation. It is also important that the system has to be able to use open- source Linux routing algorithms without any modification.
In my thesis I describe a solution with an optimally separated control and data plane, and it is also able to use all Linux routing protocols without modification.
Furthermore I examine a possible hardware and software power management solution. The main point of the solution is an interface. Linux can set multi-level power-saving functions through it.
The solution is realized on a system developed in my department, called C-Board. I am also using a generic packet forwarding framework. This is also implemented on this board. The system forwards packets with on-board FPGAs. There are routing and switching tables implemented, routes are looked up in the tables by hardware and packets forwarded on the proper output port.