The Click modular router

Citation
E. Kohler et al., The Click modular router, ACM T COMP, 18(3), 2000, pp. 263-297
Citations number
34
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM TRANSACTIONS ON COMPUTER SYSTEMS
ISSN journal
07342071 → ACNP
Volume
18
Issue
3
Year of publication
2000
Pages
263 - 297
Database
ISI
SICI code
0734-2071(200008)18:3<263:TCMR>2.0.ZU;2-T
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 packe t classification, queuing, scheduling, and interfacing with network devices . A router configuration is a directed graph with elements at the vertices; packets flow along the edges of the graph. Several features make individua l elements more powerful and complex configurations easier to write, includ ing pull connections, which model packet flow driven by transmitting hardwa re devices, and flow-based router context, which helps an element locate ot her interesting elements. Click configurations are modular and easy to exte nd. A standards-compliant Click IP router has 16 elements on its forwarding path; some of its elements are also useful in Ethernet switches and IP tun neling configurations. Extending the IP router to support dropping policies , fairness among flows, or Differentiated Services simply requires adding a couple of elements at the right place. On conventional PC hardware, the Cl ick IP router achieves a maximum loss-free forwarding rate of 333,000 64-by te packets per second, demonstrating that Click's modular and flexible arch itecture is compatible with good performance.