
The Click Modular Router Project - chatmasta
http://www.read.cs.ucla.edu/click/
======
brudgers
Despite any staleness in regards to what constitutes news on the page, the
Github shows the project still has momentum:

[https://github.com/kohler/click/](https://github.com/kohler/click/)

------
joebolte
Where does it explain what Click is? No explanation on the front page, and
first FAQ is "Is Click experimental software?"

~~~
tptacek
Click is a C++ framework for constructing routers and IP middleboxes out of
modular components, somewhat like a modular synthesizer for packets.

It's a pretty great codebase.

~~~
jefurii
How specific is it to routing network traffic? Can it be used for more general
data processing?

~~~
tptacek
It's specific to processing IP packets, but not to routing. It has a really
elegant interface for handling packet events.

------
mdergosits
I used click in production. It was a great piece of software. It allowed us to
do packet processing and routing in the linux kernel with high level C++ code.
It also had a great "standard library" for packet routing primitives.

~~~
cpach
Cool! Are you at liberty to share any more details? Was it for an ISP or
similar? I would be interested to hear more :)

~~~
mdergosits
We ran it on access points, switches, and a firewalls. We found it was pretty
good to a certain extent, but was hard to scale with multiple cores.

~~~
cpach
Interesting!

------
ianrose14
I used this in my PhD dissertation. Very useful project!
[http://www.ianthomasrose.com/pubs/argos-
sensys10.pdf](http://www.ianthomasrose.com/pubs/argos-sensys10.pdf)

------
chatmasta
I discovered this when I read about ClickOS [0], a unikernel that builds on
the Click modular router. Check this out: "ClickOS virtual machines are small
(5MB), boot quickly (about 30 milliseconds), add little delay (45
microseconds) and over one hundred of them can be concurrently run while
saturating a 10Gb pipe on a commodity server"

[0]
[https://www.usenix.org/system/files/conference/nsdi14/nsdi14...](https://www.usenix.org/system/files/conference/nsdi14/nsdi14-paper-
martins.pdf)

------
ausjke
Looked at this a few years back, but never started using it.

