Speaker: Eddie Kohler
Time & Location: 4:15 PM, B14 Hollister
Host: Andrew Myers
Title: The Click modular router and its programming language
Click is a novel software architecture for building completely configurable routers. Click routers are assembled from fine-grained components that control every aspect of packet processing. The component design is based on inherent structural properties of routers, making Click more modular, flexible, and easy to use than previous tangled, monolithic approaches. The language used to write router configurations has sophisticated features for user-created abstractions. It is also purely descriptive, and therefore lends itself to off-line analysis and transformation. We have written off-line tools that prove properties about Click configurations, improve their performance, and even generate specialized C++ source code for them. This approach is both easy and powerful, and we believe it is applicable to other systems. Language-based and other optimizations make Click fast as well as flexible: on a 700 MHz Pentium III running Linux, a Click router can forward 435,000 64-byte packets per second.
Click software and documentation is available from http://www.pdos.lcs.mit.edu/click/.