The Click modular router

  • Authors:
  • Robert Morris;Eddie Kohler;John Jannotti;M. Frans Kaashoek

  • Affiliations:
  • MIT Laboratory for Computer Science;MIT Laboratory for Computer Science;MIT Laboratory for Computer Science;MIT Laboratory for Computer Science

  • Venue:
  • Proceedings of the seventeenth ACM symposium on Operating systems principles
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Click is a new software architecture for building flexible and configurable routers. A Click router is assembled from packet processing modules called elements. Individual elements implement simple router functions like packet classification, queueing, scheduling, and interfacing with network devices. Complete configurations are built by connecting elements into a graph; packets flow along the graph's edges. Several features make individual elements more powerful and complex configurations easier to write, including pull processing, which models packet flow driven by transmitting interfaces, and flow-based router context, which helps an element locate other interesting elements.We demonstrate several working configurations, including an IP router and an Ethernet bridge. These configurations are modular---the IP router has 16 elements on the forwarding path---and easy to extend by adding additional elements, which we demonstrate with augmented configurations. On commodity PC hardware running Linux, the Click IP router can forward 64-byte packets at 73,000 packets per second, just 10% slower than Linux alone.