FastClick

Documentation

Guides, tutorials and internals notes. These pages are the project wiki, rebuilt on every change. Per-element reference is under Elements.

Differences with Click

Click (mainline)FastClick
Packet transferOne packet per callBatches of packets
DPDKBasic, one device queue per element copyNative multi-queue and RSS
ThreadsManual task assignmentThread vectors, multi-threaded by default at userlevel
Per-flow statePer-element tablesFlow subsystem (MiddleClick)
ScalingStaticDynamic 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.