Computer Science Department

Computer Science Colloquium

Click, From Extensible Router to Versatile Packet Processor

Eddie Kohler
ICSI Center for Internet Research

Friday, March 7, 2003
11:30 a.m.
Room 1302 WWH
251 Mercer Street
New York, NY 10012-1185

Host: Richard Cole,, 212-998-3119
Colloquium Information:


Modern router forwarding paths must simultaneously offer high performance and lots of configuration options. Even software routers have trouble with the combination, since performance requirements lead to monolithic, in-kernel implementations that are difficult to extend or change. The Click system attacks this problem with a configurable component framework for router construction. Application-specific abstractions, lean coding, and device driver improvements help Click achieve its original goal: a fully extensible, gigabit-speed forwarding path built from modular pieces. However, a continuing series of changes, both large and small, have evolved it into something more versatile. Now Click's single set of components cleanly supports packet processing applications like trace processing, simulation, wireless network protocol implementation, and traffic analysis, all while remaining fast enough for gigabit routing. This versatility seems unique among networking component systems, and useful enough to merit investigation. I'll describe Click, including the system itself and some support and optimization tools; present both routing applications and some other applications; and touch on the design principles that I think made Click a success, including seeming intangibles like readability and craft.