The Click Modular Router

The Click Modular Router

August 2000 | EDDIE KOHLER, ROBERT MORRIS, BENJIE CHEN, JOHN JANNOTTI, and M. FRANS KAASHOEK
Click is a modular, flexible software architecture for building routers. It allows routers to be constructed from packet processing modules called elements, which implement functions like packet classification, queuing, and scheduling. A router configuration is a directed graph of elements, with packets flowing along the edges. Click supports pull and push connections, enabling flexible packet flow and composable scheduling. Elements can be extended to support various functions, and configurations are modular and easy to extend. A standards-compliant Click IP router has 16 elements on its forwarding path, with some useful in Ethernet switches and IP tunneling. Adding elements can support features like dropping policies, fairness, or Differentiated Services. Click achieves a loss-free forwarding rate of 333,000 64-byte packets per second on a 700MHz Pentium III, demonstrating its performance. Click's architecture is inspired by router properties, including push and pull connections, and flow-based router context, which helps elements locate others. Click's modular design allows for easy configuration and extension, with elements supporting various functions. The Click language allows users to define configurations, and the system supports hot-swapping and handlers for user interaction. Click's kernel environment runs as a Linux thread, with a task queue for CPU scheduling. The system uses polling instead of interrupts to avoid livelock and improve performance. Click's architecture supports various router extensions, including scheduling, dropping policies, and Differentiated Services. It also includes an Ethernet switch configuration and a network arrangement for mobility. Click's modular design enables flexible and efficient router configurations, with performance improvements through polling and efficient device handling.Click is a modular, flexible software architecture for building routers. It allows routers to be constructed from packet processing modules called elements, which implement functions like packet classification, queuing, and scheduling. A router configuration is a directed graph of elements, with packets flowing along the edges. Click supports pull and push connections, enabling flexible packet flow and composable scheduling. Elements can be extended to support various functions, and configurations are modular and easy to extend. A standards-compliant Click IP router has 16 elements on its forwarding path, with some useful in Ethernet switches and IP tunneling. Adding elements can support features like dropping policies, fairness, or Differentiated Services. Click achieves a loss-free forwarding rate of 333,000 64-byte packets per second on a 700MHz Pentium III, demonstrating its performance. Click's architecture is inspired by router properties, including push and pull connections, and flow-based router context, which helps elements locate others. Click's modular design allows for easy configuration and extension, with elements supporting various functions. The Click language allows users to define configurations, and the system supports hot-swapping and handlers for user interaction. Click's kernel environment runs as a Linux thread, with a task queue for CPU scheduling. The system uses polling instead of interrupts to avoid livelock and improve performance. Click's architecture supports various router extensions, including scheduling, dropping policies, and Differentiated Services. It also includes an Ethernet switch configuration and a network arrangement for mobility. Click's modular design enables flexible and efficient router configurations, with performance improvements through polling and efficient device handling.
Reach us at info@study.space