Documentation
Guides, tutorials and internals notes. These pages are the project wiki, rebuilt on every change. Per-element reference is under Elements.
Getting started
Using FastClick
Systems built on FastClick
Internals
Differences with Click
| Click (mainline) | FastClick | |
|---|---|---|
| Packet transfer | One packet per call | Batches of packets |
| DPDK | Basic, one device queue per element copy | Native multi-queue and RSS |
| Threads | Manual task assignment | Thread vectors, multi-threaded by default at userlevel |
| Per-flow state | Per-element tables | Flow subsystem (MiddleClick) |
| Scaling | Static | Dynamic with RSS++ |
The full list is in Differences between FastClick and Click.
Research built on FastClick
- FastClick. T. Barbette, C. Soldani, L. Mathy. Fast userspace packet processing. ANCS 2015. PDF · DOI
- RSS++. Load and state-aware receive side scaling, a NIC-driven scheduler. PDF
- PacketMill. Toward per-core 100-Gbps networking, by specialising the binary. packetmill.io
- MiddleClick. Flows and sessions on top of packets. Thesis record
If you build on one of these, cite its paper too: RSS++ if you use or improve DeviceBalancer, PacketMill if you use the packetmill command.